Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

Configuriamo Odoo con SSL redirect 443

Ciao a tutti, ho seguito l'articolo di Andrea Cometa, ma quando provo a richiamare odoo da https, mi appare la schermata di nginx standard, come se non vedesse odoo.

Se accedo in http sulla porta 8069 lo vedo senza problemi. Credo che i punti critici siano questi 2

Io sto usando odoo 13 Community Edition su Ubuntu 16, sbaglio qualcosa?

upstream myOdoo {
    server localhost:8069;   <<< qui è necessario specificare host e porta di Odoo
}

location / {
        proxy_pass              http://myOdoo;
[...]
    }
Avatar
Abbandona
3 Risposte
0
Migliore risposta

Quello che non riesco a capire è perchè il redirect avviene correttamente, in quanto non da errore quando raggiungo https://www.crystalcave.online, però mi mostra la pagina di default di nginx, quindi in sostanza mi mostra ciò che avrei visto sulla porta 80 anziché la porta 8069. Ma nel file che ho inserito in questo thread, si vede che il redirect porta sulla 8069.

Qualcuno puoi aiutarmi a capire dove sbaglio?

2 commenti
Avatar
Abbandona
Avatar
Andrea Cometa
-

Hai rimosso il file di default in /etc/nginx/sites-enabled?

Probabilmente è ancora lì ed ha priorità sul tuo file di configurazione

Ho provato ad eliminarlo, inoltre ho cercato sulla documentazione di Odoo 13, ed ho riformulato un solo file in questo modo.

#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 www.crystalcave.online;

rewrite ^(.*) https://$host$1 permanent;

# LETSENCRYPT

location '/.well-known/acme-challenge' {

default_type "text/plain";

root /tmp/letsencrypt;

autoindex on;

}

}

server {

listen 443;

server_name www.crystalcave.online;

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/letsencrypt/live/www.crystalcave.online/fullchain.pem; # managed by Certbot

ssl_certificate_key /etc/letsencrypt/live/www.crystalcave.online/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

#ssl_session_timeout 30m;

#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

#ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-$

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

}

# common gzip

gzip_types text/css text/scss text/plain text/xml application/xml application/$

gzip on;

}

Adesso sembra dare proprio errore.....sto indagando....

0
Avatar
Luigi Di Naro
Migliore risposta

La location cosi' specificata sembra quella http e non https, ma da uno spezzone cosi' piccolo di configurazione si fa fatica ad esserne certi.

Se vuoi solo HTTPS la parte http devo fare un redirect 301 (in alcuni casi 303 ma andrebbe verificato) verso la url https e poi va configurata la parte https in modo corretto.

Se con http vedi odoo e con https non lo vedi probabile non hai il proxy pass su https .. in ogni caso dovresti modificare http come descritto sopra.

1 commento
Avatar
Abbandona

Questi sono i 2 file che ho creato, non sono così esperto da capire tutto, oltre a questi ho modificato /etc/odoo/odoo.conf con prxy_mode = True

file /etc/nginx/sites-enables/crystalcave

server {

listen 80;

server_name www.crystalcave.online;

# LETSENCRYPT

location '/.well-know/acms-challenge' {

default_type "text/plain";

root /tmp/letsencrypt;

autoindex on;

}

access_log /var/log/nginx/crystalcave.access.log;

error_log /var/log/nginx/crystalcave.error.log;

listen 443 ssl; # managed by Certbot

ssl_certificate /etc/letsencrypt/live/www.crystalcave.online/fullchain.pem; # managed by Certbot

ssl_certificate_key /etc/letsencrypt/live/www.crystalcave.online/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

}

file /etc/nginx/sites-enables/crystalcave-ssl

upstream odoo {

server 127.0.0.1:8069;

}

upstream odoochat {

server 127.0.0.1:8072;

}

server {

listen 443;

server_name www.crystalcave.online;

proxy_read_timeout 720s;

proxy_connect_timeout 720s;

proxy_send_timeout 720s;

# SSL parameters

ssl on;

ssl_ciphers ALL:!ADH:!MD5:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

ssl_certificate /etc/letsencrypt/live/www.crystalcave.online/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/www.crystalcave.online/privkey.pem;

ssl_session_timeout 30m;

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

}

# LETSENCRYPT

location '/.well-known/acme-challenge' {

default_type "text/plain";

root /tmp/letsencrypt;

autoindex on;

}

access_log /var/log/nginx/crystalcave-ssl.access.log;

error_log /var/log/nginx/crystalcave-ssl.error.log;

# common gzip

gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;

gzip on;

}