Android

Configureer odoo met nginx als een omgekeerde proxy

Configuring nginx as a reverse proxy for web application

Configuring nginx as a reverse proxy for web application

Inhoudsopgave:

Anonim

Odoo is een van de meest populaire zakelijke software ter wereld en zit boordevol met meerdere handige modules zoals klantrelatiebeheer (CRM), verkooppunt, projectbeheer, voorraadbeheer, geautomatiseerde facturering, boekhouding, e-commerce, voorraadbeheer en veel meer.

Odoo wordt geleverd met een ingebouwde webserver, maar in de meeste gevallen wordt aanbevolen om er een reverse proxy voor te hebben die zal fungeren als intermediair tussen de clients en de Odoo-server.

Deze gids geeft instructies over het gebruik van Nginx als SSL-beëindiging en reverse proxy naar Odoo.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:

  • Je hebt Odoo geïnstalleerd, zo niet, dan kun je de instructies hier vinden. Je hebt een domeinnaam die verwijst naar je Odoo-installatie. we zullen odoo.example.com gebruiken odoo.example.com U heeft Nginx geïnstalleerd, zo niet, kijk dan in deze gids. U hebt een SSL-certificaat geïnstalleerd voor uw domein. U kunt een gratis Let's Encrypt SSL-certificaat installeren door deze handleiding te volgen.

Configureer Nginx als een omgekeerde proxy

Het gebruik van een reverse-proxy biedt u veel voordelen, zoals load-balancing, SSL-beëindiging, caching, compressie, serveren van statische inhoud en meer.

In dit voorbeeld zullen we SSL-beëindiging, HTTP naar HTTPS-omleiding configureren, de statische bestanden in de cache opslaan en GZip-compressie inschakelen.

Hieronder staat een voorbeeld van een nginx-configuratiebestand (serverblok) dat u kunt gebruiken voor uw Odoo-installatie. Alle HTTP-aanvragen worden doorgestuurd naar

Open uw teksteditor en maak het volgende bestand:

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; }

Vergeet niet om odoo.example.com te vervangen door uw Odoo-domein en het juiste pad in te stellen voor de SSL-certificaatbestanden.

Sla het bestand op en start de Nginx-service opnieuw op met:

sudo systemctl restart nginx

Wijzig de bindende interface

Deze stap is optioneel, maar het is een goede beveiligingspraktijk.

Odoo-server luistert standaard naar poort 8069 op alle interfaces. Als u directe toegang tot uw Odoo-exemplaar wilt uitschakelen, opent u het Odoo-configuratiebestand en voegt u de volgende twee regels toe aan het einde van het bestand:

/etc/odoo.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Sla het configuratiebestand op en start de Odoo-server opnieuw om de wijzigingen door te voeren:

systemctl restart odoo

Conclusie

In deze tutorial heb je geleerd hoe je Nginx als een proxy kunt configureren voor je Odoo-applicatie. U kunt ook lezen over het instellen van automatische Odoo-back-ups

odoo nginx proxy ssl