Android

Configurer odoo avec nginx comme proxy inverse

Comprendre le Proxy et le Reverse Proxy en 5 minutes

Comprendre le Proxy et le Reverse Proxy en 5 minutes

Table des matières:

Anonim

Odoo est l'un des logiciels d'entreprise les plus populaires au monde et il est doté de plusieurs modules utiles tels que la gestion de la relation client (CRM), le point de vente, la gestion de projet, la gestion des stocks, la facturation automatisée, la comptabilité, le commerce électronique, la gestion des stocks et beaucoup plus.

Odoo est livré avec un serveur Web intégré, mais dans la plupart des cas, il est recommandé d'avoir un proxy inverse devant lui qui servira d'intermédiaire entre les clients et le serveur Odoo.

Ce guide fournit des instructions sur la façon d'utiliser Nginx en tant que terminaison SSL et proxy inverse pour Odoo.

Conditions préalables

Assurez-vous que vous avez rempli les conditions préalables suivantes avant de poursuivre ce didacticiel:

  • Vous avez installé Odoo, sinon vous pouvez trouver les instructions ici Vous avez un nom de domaine pointant vers votre installation Odoo. nous utiliserons odoo.example.com Vous avez Nginx installé, sinon consultez ce guide.Vous avez un certificat SSL installé pour votre domaine. Vous pouvez installer un certificat SSL Let's Encrypt gratuit en suivant ce guide.

Configurer Nginx comme proxy inverse

L'utilisation d'un proxy inverse vous offre de nombreux avantages tels que l'équilibrage de charge, la terminaison SSL, la mise en cache, la compression, la diffusion de contenu statique, etc.

Dans cet exemple, nous allons configurer la terminaison SSL, la redirection HTTP vers HTTPS, mettre en cache les fichiers statiques et activer la compression GZip.

Vous trouverez ci-dessous un exemple de fichier de configuration nginx (bloc serveur) que vous pouvez utiliser pour votre installation Odoo. Toutes les requêtes HTTP seront redirigées vers

Ouvrez votre éditeur de texte et créez le fichier suivant:

sudo nano /etc/nginx/sites-enabled/odoo.example.com /etc/nginx/sites-enabled/odoo.example.com

upstream odoo { server 127.0.0.1:8069; } upstream odoo-chat { server 127.0.0.1:8072; } server { server_name odoo.example.com; return 301 https://odoo.example.com$request_uri; } server { listen 443 ssl http2; server_name odoo.example.com; ssl_certificate /path/to/signed_cert_plus_intermediates; ssl_certificate_key /path/to/private_key; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_dhparam /path/to/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates; resolver 8.8.8.8 8.8.4.4; access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; location / { proxy_redirect off; proxy_pass http://odoo; } location /longpolling { proxy_pass http://odoo-chat; } location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }

N'oubliez pas de remplacer odoo.example.com par votre domaine Odoo et de définir le chemin correct pour les fichiers de certificat SSL.

Une fois que vous avez terminé, enregistrez le fichier et redémarrez le service Nginx avec:

sudo systemctl restart nginx

Changer l'interface de liaison

Cette étape est facultative, mais c'est une bonne pratique de sécurité.

Par défaut, le serveur Odoo écoute le port 8069 sur toutes les interfaces. Si vous souhaitez désactiver l'accès direct à votre instance Odoo, ouvrez le fichier de configuration Odoo et ajoutez les deux lignes suivantes à la fin du fichier:

/etc/odoo.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Enregistrez le fichier de configuration et redémarrez le serveur Odoo pour que les modifications prennent effet:

systemctl restart odoo

Conclusion

Dans ce didacticiel, vous avez appris à configurer Nginx en tant que proxy pour votre application Odoo. Vous pouvez également lire comment configurer des sauvegardes automatiques Odoo

odoo nginx proxy ssl