Configuring nginx as a reverse proxy for web application
Inhoudsopgave:
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
gebruikenodoo.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:
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:
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:
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 sslBeoordeling: PlagTracker vindt plagiaat (soms zelfs als die er niet is)
De Premium-versie van Plagtracker, die $ 15 per maand kost, levert sneller resultaten op, laat de gebruiker directe bronnen van het vermelde materiaal uitsluiten voor nauwkeurigere resultaten, en staat bestandsuploads toe voor * .doc- en tekstbestanden (in plaats van knippen en plakken).
Een zachte Larry-pagina verrast bij Google I / O
Er werd niet verwacht dat de pagina op I / O sprak, deels omdat hij last had van een probleem met de stembanden dat hij uiteindelijk opende over deze week. Op woensdag sprak hij zacht maar duidelijk in een handheld-microfoon.
Het paneel voor wiskundige invoer gebruikt de wiskundige herkenning die is ingebouwd in Windows 7 om handgeschreven wiskundige uitdrukkingen te herkennen. U kunt het dan gemakkelijk gebruiken met tekstverwerkers of computertabellen. Het paneel voor wiskundige invoer is ontworpen om te worden gebruikt met een tabletpen op een tablet-pc, maar u kunt het ook gebruiken met elk invoerapparaat, zoals een aanraakscherm of zelfs een muis.
Het paneel voor wiskundige invoer gebruikt de wiskundige herkenner die in Windows is ingebouwd 7 om handgeschreven wiskundige uitdrukkingen te herkennen. Je kunt het dan gemakkelijk gebruiken met tekstverwerkers of computertabellen.