Optimización de Nginx como Proxy Inverso para Odoo, Configuración y Mejores Prácticas

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

Para configurar Nginx como proxy inverso para Odoo, debes modificar la configuración para hacer un proxy_pass al backend de Odoo en el puerto en el que se esté ejecutando (generalmente 8069 para la interfaz web y 8072 para el servicio de live chat).

Aquí está la configuración ajustada para que actúe como proxy inverso hacia un servidor Odoo en localhost:8069:

server {
server_name odoo.example.com;

listen 443 ssl http2; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/odoo.example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/odoo.example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

location / {
proxy_pass http://127.0.0.1:8069;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
}

location /longpolling/ {
proxy_pass http://127.0.0.1:8072;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
}
}

server {
if ($host = odoo.example.com) {
return 301 https://$host$request_uri;
} # managed by Certbot

listen 80;
server_name odoo.example.com;
return 404; # managed by Certbot
}

Explicación:

  • Se ha reemplazado el bloque location / original con proxy_pass apuntando a 127.0.0.1:8069, que es el puerto en el que Odoo ejecuta su interfaz web.
  • Se ha añadido un location /longpolling/ para manejar el servicio de chat en vivo de Odoo (longpolling en el puerto 8072).
  • Se mantienen los encabezados necesarios (proxy_set_header) para asegurar que Odoo reciba correctamente las solicitudes y respete la configuración de HTTPS.
  • Se mantiene la configuración SSL de Let's Encrypt.

Después de hacer estos cambios:

  1. Prueba la configuración de Nginx con:

    sudo nginx -t
  2. Si no hay errores, recarga Nginx:

    sudo systemctl reload nginx
  3. Asegúrate de que Odoo está corriendo en los puertos 8069 y 8072:

    sudo ss -tlnp | grep odoo
  4. Si es necesario, revisa los logs de Nginx para depuración:

    sudo journalctl -u nginx --no-pager --since "10 minutes ago"

Con esta configuración, tu instancia de Odoo debería estar accesible en https://odoo.example.com

Binario 0
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.