Android

Настройте odoo с nginx в качестве обратного прокси

Odoo ERP Solutions for Construction Industry

Odoo ERP Solutions for Construction Industry

Оглавление:

Anonim

Odoo является одним из самых популярных бизнес-программ в мире, и оно содержит множество полезных модулей, таких как управление взаимоотношениями с клиентами (CRM), точки продаж, управление проектами, управление запасами, автоматическое выставление счетов, бухгалтерский учет, электронная коммерция, управление запасами и гораздо больше.

Odoo поставляется со встроенным веб-сервером, но в большинстве случаев рекомендуется иметь обратный прокси-сервер, который будет служить посредником между клиентами и сервером Odoo.

В этом руководстве приведены инструкции по использованию Nginx в качестве завершения SSL и обратного прокси-сервера для Odoo.

Предпосылки

Убедитесь, что вы выполнили следующие предварительные условия, прежде чем продолжить этот урок:

  • У вас установлен Odoo, если нет, вы можете найти инструкции здесь. У вас есть доменное имя, указывающее на вашу установку Odoo. мы будем использовать odoo.example.com . У вас установлен Nginx, если не проверить это руководство. У вас установлен сертификат SSL для вашего домена. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этому руководству.

Настройте Nginx в качестве обратного прокси

Использование обратного прокси-сервера дает вам множество преимуществ, таких как балансировка нагрузки, прекращение SSL, кэширование, сжатие, обслуживание статического содержимого и многое другое.

В этом примере мы настроим SSL-завершение, перенаправление HTTP на HTTPS, кешируем статические файлы и включим сжатие GZip.

Ниже приведен пример файла конфигурации nginx (блок сервера), который вы можете использовать для установки Odoo. Все HTTP-запросы будут перенаправлены на

Откройте ваш текстовый редактор и создайте следующий файл:

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

Не забудьте заменить odoo.example.com вашим доменом Odoo и указать правильный путь для файлов сертификатов SSL.

Как только вы закончите, сохраните файл и перезапустите сервис Nginx:

sudo systemctl restart nginx

Изменить интерфейс привязки

Этот шаг не является обязательным, но это хорошая практика безопасности.

По умолчанию сервер Odoo прослушивает порт 8069 на всех интерфейсах. Если вы хотите отключить прямой доступ к вашему экземпляру Odoo, откройте файл конфигурации Odoo и добавьте следующие две строки в конец файла:

/etc/odoo.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Сохраните файл конфигурации и перезапустите сервер Odoo, чтобы изменения вступили в силу:

systemctl restart odoo

Вывод

Из этого урока вы узнали, как настроить Nginx в качестве прокси для вашего приложения Odoo. Вы также можете прочитать о том, как настроить автоматическое резервное копирование Odoo

odoo nginx proxy ssl