ODOO 8 – Accéder à ODOO en SSL (1/2)

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

3 réflexions sur « ODOO 8 – Accéder à ODOO en SSL (1/2) »

  1. 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *