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

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

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-запросы будут перенаправлены на HTTPS .

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

 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

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *