Par défaut, l'accès à ODOO se fait en http sur le port 8069.
Voici la procédure pour y accéder en SSL en utilisant le serveur http nginx ... et un certificat ssl auto-signé et gratuit.
Cette procédure s'inspire en grande partie de celle décrite sur rosehosting.com
Environnement technique
- serveur virtualisé Debian 7.3 (wheezy) sur lequel sera installé ODOO
- navigateur sur PC Linux Mint 14 à partir duquel on accédera à ODOO
Description
Se connecter sur le serveur debian avec les droits "root"
- installer nginx
apt-get install nginx
- créer les clés ssl
mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
openssl rsa -passin pass:x -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- créer le fichier suivant (en remplaçant yourOdooSite.com par votre nom de domaine)
vi /etc/nginx/sites-available/yourOdooSite.com
... avec le contenu suivant :
upstream oddo {
server 127.0.0.1:8069;
}
server {
listen 443 default;
server_name yourOdooSite.com;
access_log /var/log/nginx/oddo.access.log;
error_log /var/log/nginx/oddo.error.log;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
keepalive_timeout 60;
ssl_ciphers HIGH:!ADH:!MD5;
ssl_protocols SSLv3 TLSv1;
ssl_prefer_server_ciphers on;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
location / {
proxy_pass http://oddo;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location ~* /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://oddo;
}
}
server {
listen 80;
server_name yourOdooSite.com;
add_header Strict-Transport-Security max-age=2592000;
rewrite ^/.*$ https://$host$request_uri? permanent;
}
- créer le lien symbolique
ln -s /etc/nginx/sites-available/yourOdooSite.com /etc/nginx/sites-enabled/yourOdooSite.com
- relancer nginx
/etc/init.d/nginx restart
*** Si vous accédez à votre serveur Odoo par une adresse IP au lieu d'un nom de domaine, vous pouvez remplacer dans la procédure précédente :
- le fichier /etc/nginx/sites-available/yourOdooSite.com par
/etc/nginx/sites-available/default - yourOdooSite.com par default_server dans le fichier /etc/nginx/sites-available/default
Bonjour, merci pour ce tuto.
Je déterre cet ancien sujet .
Je viens d’installer nginx dans l’optique d’utiliser par la suite une multi instance avec Odoo.
Est-on obliger avec nginx d’utiliser le criptage SSL, sinon, comment faire ?
Après la mise en place de nginx en suivant le tuto, j’ai un message d’avertissement de firefox m’indiquant que le serveur n’est pas sécurisé, que le site web est mal sécurisé.
Je n’ai accés au site que en https et plus en http.
Est-ce normale ?
Merci.
Xavier
Concernant Nginx et Http, j’avais rédigé cet autre article : https://agipme.fr/2015/07/odoo-8-configuration-nginx-simple.html
Concernant Nginx et Https, plutôt qu’un certificat auto-signé, il vaut mieux désormais utiliser un certificat gratuit de Let’s Encrypt : https://letsencrypt.org/