Android

Skonfiguruj odoo z nginx jako odwrotnym proxy

Odoo on Nginx without 8069 and SSL Secure Certificate

Odoo on Nginx without 8069 and SSL Secure Certificate

Spisu treści:

Anonim

Odoo jest jednym z najpopularniejszych programów biznesowych na świecie i jest wyposażony w wiele przydatnych modułów, takich jak zarządzanie relacjami z klientami (CRM), punkt sprzedaży, zarządzanie projektami, zarządzanie zapasami, automatyczne fakturowanie, księgowość, handel elektroniczny, zarządzanie zapasami i wiele więcej.

Odoo ma wbudowany serwer WWW, ale w większości przypadków zaleca się posiadanie przed nim odwrotnego serwera proxy, który będzie działał jako pośrednik między klientami a serwerem Odoo.

Ten przewodnik zawiera instrukcje dotyczące używania Nginx jako rozwiązania SSL i odwrotnego proxy do Odoo.

Wymagania wstępne

Przed kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Masz zainstalowaną Odoo, jeśli nie, możesz znaleźć tutaj instrukcje. Nazwa domeny wskazuje na twoją instalację Odoo. użyjemy odoo.example.com . odoo.example.com zainstalowanego Nginx, jeśli nie, sprawdź ten przewodnik. Masz zainstalowany certyfikat SSL dla swojej domeny. Możesz zainstalować bezpłatny certyfikat Let's Encrypt SSL postępując zgodnie z tym przewodnikiem.

Skonfiguruj Nginx jako odwrotny serwer proxy

Korzystanie z odwrotnego proxy daje wiele korzyści, takich jak równoważenie obciążenia, zakończenie SSL, buforowanie, kompresja, serwowanie treści statycznych i wiele innych.

W tym przykładzie skonfigurujemy zakończenie protokołu SSL, przekierowanie HTTP na HTTPS, buforowanie plików statycznych i włączenie kompresji GZip.

Poniżej znajduje się przykładowy plik konfiguracyjny nginx (blok serwera), którego można użyć do instalacji Odoo. Wszystkie żądania HTTP zostaną przekierowane do

Otwórz edytor tekstu i utwórz następujący plik:

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

Nie zapomnij zastąpić odoo.example.com domeną Odoo i ustawić prawidłową ścieżkę dla plików certyfikatów SSL.

Po zakończeniu zapisz plik i uruchom ponownie usługę Nginx za pomocą:

sudo systemctl restart nginx

Zmień interfejs powiązania

Ten krok jest opcjonalny, ale stanowi dobrą praktykę bezpieczeństwa.

Domyślnie serwer Odoo nasłuchuje na porcie 8069 na wszystkich interfejsach. Jeśli chcesz wyłączyć bezpośredni dostęp do instancji Odoo, otwórz plik konfiguracyjny Odoo i dodaj następujące dwa wiersze na końcu pliku:

/etc/odoo.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Zapisz plik konfiguracyjny i zrestartuj serwer Odoo, aby zmiany odniosły skutek:

systemctl restart odoo

Wniosek

W tym samouczku nauczyłeś się konfigurować Nginx jako serwer proxy w swojej aplikacji Odoo. Możesz także przeczytać o tym, jak skonfigurować automatyczne kopie zapasowe Odoo

odoo nginx proxy ssl