Androide

Configure odoo con nginx como proxy inverso

Qué es y para que sirve un proxy inverso con Nginx

Qué es y para que sirve un proxy inverso con Nginx

Tabla de contenido:

Anonim

Odoo es uno de los softwares comerciales más populares del mundo y está repleto de múltiples módulos útiles como gestión de relaciones con el cliente (CRM), punto de venta, gestión de proyectos, gestión de inventario, facturación automatizada, contabilidad, comercio electrónico, gestión de inventario y mucho más.

Odoo viene con un servidor web incorporado, pero en la mayoría de los casos se recomienda tener un proxy inverso frente a él que actuará como intermediario entre los clientes y el servidor Odoo.

Esta guía proporciona instrucciones sobre cómo usar Nginx como terminación SSL y proxy inverso a Odoo.

Prerrequisitos

Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:

  • Tiene instalado Odoo, si no puede encontrar las instrucciones aquí. Tiene un nombre de dominio que apunta a su instalación de Odoo. utilizaremos odoo.example.com . Tiene instalado Nginx, si no, consulte esta guía. Tiene un certificado SSL instalado para su dominio. Puede instalar un certificado SSL Let's Encrypt gratuito siguiendo esta guía.

Configure Nginx como un proxy inverso

El uso de un proxy inverso le brinda muchos beneficios, como equilibrio de carga, terminación SSL, almacenamiento en caché, compresión, publicación de contenido estático y más.

En este ejemplo configuraremos la terminación SSL, la redirección de HTTP a HTTPS, almacenaremos en caché los archivos estáticos y habilitaremos la compresión GZip.

A continuación se muestra un archivo de configuración de nginx de muestra (bloque de servidor) que puede usar para su instalación de Odoo. Todas las solicitudes HTTP serán redirigidas a

Abra su editor de texto y cree el siguiente archivo:

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

No olvide reemplazar odoo.example.com con su dominio Odoo y establecer la ruta correcta para los archivos de certificado SSL.

Una vez que haya terminado, guarde el archivo y reinicie el servicio Nginx con:

sudo systemctl restart nginx

Cambiar la interfaz de enlace

Este paso es opcional, pero es una buena práctica de seguridad.

Por defecto, el servidor Odoo escucha el puerto 8069 en todas las interfaces. Si desea deshabilitar el acceso directo a su instancia de Odoo, abra el archivo de configuración de Odoo y agregue las dos líneas siguientes al final del archivo:

/etc/odoo.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Guarde el archivo de configuración y reinicie el servidor Odoo para que los cambios surtan efecto:

systemctl restart odoo

Conclusión

En este tutorial, aprendió a configurar Nginx como Proxy para su aplicación Odoo. También puede leer sobre cómo configurar copias de seguridad automáticas de Odoo

odoo nginx proxy ssl