Guías y tutoriales

Cientos de tutoriales y guías paso a paso cuidadosamente escritas por nuestro equipo de soporte.

Cómo instalar certificado SSL en Odoo 12 y 13

Odoo, por defecto, transmite la información sin cifrar, incluida la de autenticación.

Es por ello que consideramos que un despliegue seguro de Odoo debe contar con HTTPS, el cual requiere de certificados SSL que a continuación te indicaremos cómo configurar e instalar.

Para llevar a cabo este procedimiento, se requiere de:

  • Certificados SSL (ficheros .pem y .key) correspondientes al mismo dominio a través del cual se accederá a tu Odoo.

  • Credenciales SSH de usuario "root" a tu Cloud Odoo, que recibiste por correo electrónico en el momento de la contratación.

Si aún no dispones de certificado SSL, puedes crear uno ahora en:

SW Panel > Dominios y SSL (menú izquierdo) > Cartera de Certificados SSL > Crear SSL

Para más información, consulta el siguiente manual

Instalación de certificado SSL en Odoo 12 y 13

  1. Conéctate a tu Cloud Odoo vía SSH como usuario "root".

  2. Copia el fichero .pem de tu certificado SSL en el directorio:

/etc/ssl/

  1. Copia el fichero .key de tu certificado SSL en el directorio:

/etc/ssl/private/

  • En este ejemplo, tenemos los siguientes:

/etc/ssl/swhosting.com.pem

/etc/ssl/private/swhosting.com.key

  1. Lanza estos comandos para realizar una copia de seguridad de los ficheros de configuración que vamos a modificar:

cp -p /etc/odoo/odoo.conf /etc/odoo/odoo.conf.backup

cp -p /etc/nginx/sites-enabled/odoo.conf /etc/nginx/sites-available/odoo.conf.backup

  1. Edita el siguiente fichero:

/etc/odoo/odoo.conf

  • Añade la siguiente línea:

proxy_mode = True

  • Resultado:
[options]
; This is the password that allows database operations:
; admin_passwd = admin
db_host = False
db_port = False
db_user = odoo
db_password = False
;addons_path = /usr/lib/python3/dist-packages/odoo/addons
proxy_mode = True
  1. Edita el siguiente fichero:

/etc/nginx/sites-enabled/odoo.conf

  • Sustituye todo su contenido por el siguiente:
#odoo server
upstream odoo {
 server 127.0.0.1:8069;
}
upstream odoochat {
 server 127.0.0.1:8072;
}

# http -> https
server {
   listen 80;
   server_name odoo.mycompany.com;
   rewrite ^(.*) https://$host$1 permanent;
}

server {
 listen 443;
 server_name odoo.mycompany.com;
 proxy_read_timeout 720s;
 proxy_connect_timeout 720s;
 proxy_send_timeout 720s;

 # Add Headers for odoo proxy mode
 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;

 # SSL parameters
 ssl on;
 ssl_certificate /etc/ssl/certificado.pem;
 ssl_certificate_key /etc/ssl/private/certificado.key;
 ssl_session_timeout 30m;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
 ssl_prefer_server_ciphers on;

 # log
 access_log /var/log/nginx/odoo.access.log;
 error_log /var/log/nginx/odoo.error.log;

 # Redirect longpoll requests to odoo longpolling port
 location /longpolling {
 proxy_pass http://odoochat;
 }

 # Redirect requests to odoo backend server
 location / {
   proxy_redirect off;
   proxy_pass http://odoo;
 }

 # common gzip
 gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
 gzip on;
}
  1. Modifica los siguientes parámetros del fichero anterior (/etc/nginx/sites-enabled/odoo.conf) :

server_name odoo.mycompany.com;

  • Aparece por duplicado. En ambos, sustituye “odoo.mycompany.com” por tu dominio. Ejemplo: "swhosting.com".

ssl_certificate /etc/ssl/certificado.pem;

  • Sustituye la ruta por la correspondiente al fichero .pem de tu certificado SSL.

ssl_certificate_key /etc/ssl/private/certificado.key;

  • Sustituye la ruta por la correspondiente al fichero .key de tu certificado SSL.

  • A modo de ejemplo, la configuración resultante sería la siguiente:

#odoo server
upstream odoo {
 server 127.0.0.1:8069;
}
upstream odoochat {
 server 127.0.0.1:8072;
}

# http -> https
server {
   listen 80;
   server_name swhosting.com;
   rewrite ^(.*) https://$host$1 permanent;
}

server {
 listen 443;
 server_name swhosting.com;
 proxy_read_timeout 720s;
 proxy_connect_timeout 720s;
 proxy_send_timeout 720s;

 # Add Headers for odoo proxy mode
 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;

 # SSL parameters
 ssl on;
 ssl_certificate /etc/ssl/swhosting.com.pem;
 ssl_certificate_key /etc/ssl/private/swhosting.com.key;
 ssl_session_timeout 30m;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
 ssl_prefer_server_ciphers on;

 # log
 access_log /var/log/nginx/odoo.access.log;
 error_log /var/log/nginx/odoo.error.log;

 # Redirect longpoll requests to odoo longpolling port
 location /longpolling {
 proxy_pass http://odoochat;
 }

 # Redirect requests to odoo backend server
 location / {
   proxy_redirect off;
   proxy_pass http://odoo;
 }

 # common gzip
 gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
 gzip on;
}
  1. Para que los cambios sean efectivos, reinicia los servicios implicados:
systemctl restart nginx.service
systemctl restart odoo.service
  1. Verifica que puedes acceder mediante HTTPS:

https://www.DominioOdoo.es

💡 Recuerda que la zona DNS de tu dominio debe apuntar hacia tu Cloud Odoo. Si no lo has hecho ya, deberás configurar en el Registro A la misma IP que tu Cloud Odoo.

Si algo no ha ido bien, necesitas restaurar las copias de seguridad de los ficheros de configuración:

cp -p /etc/odoo/odoo.conf.backup /etc/odoo/odoo.conf

cp -p /etc/nginx/sites-available/odoo.conf.backup /etc/nginx/sites-available/odoo.conf

Si todo ha ido bien, opcionalmente, puedes eliminar las copias de seguridad de los ficheros de configuración:

rm /etc/odoo/odoo.conf.backup

rm /etc/nginx/sites-available/odoo.conf.backup

Utilizamos cookies para proporcionar nuestros servicios y para análisis y marketing. Para obtener más información sobre nuestro uso de cookies, consulte nuestra Información cookies. Al continuar navegando en nuestro sitio web, usted acepta nuestro uso de cookies.