• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion
  • Inviting everyone to the UX test of a new security feature in the WP Toolkit
    For WordPress site owners, threats posed by hackers are ever-present. Because of this, we are developing a new security feature for the WP Toolkit. If the topic of WordPress website security is relevant to you, we would be grateful if you could share your experience and help us test the usability of this feature. We invite you to join us for a 1-hour online session via Google Meet. Select a convenient meeting time with our friendly UX staff here.

Question Plesk Odoo Nginx Reverse Proxy

trinanda

New Pleskian
In general Nginx configuration I use this configuration for Nginx reverse proxy to Odoo:

upstream odoo12a {
server 127.0.0.1:8012;
}

upstream odoo12a-im {
server 127.0.0.1:8072;
}

server {
listen 80;
server_name www.domain.com;
rewrite ^(.*) https://$host$1 permanent;
}

server {
listen 443;
server_name www.domain.com;
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;

ssl on;
ssl_certificate /etc/letsencrypt/live/www.domain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.domain.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

access_log /var/log/nginx/www_domain_com_odoo_access.log;
error_log /var/log/nginx/www_domain_com_odoo_.error.log;

location /longpolling {
proxy_pass http://odoo12a-im;
}

location / {
proxy_redirect off;
proxy_pass http://odoo12a;
}

location ~* /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo12a;
}

gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}

But I don't know how achieve the same functionality with Plesk?, So the point of my question is how to create Nginx reverse proxy to the Odoo?

Thanks,
Tri
 
I installed odoo 17 under Plesk and slove the Mixed Content problem.

1.install odoo and db per docker-compose as usual. Mapped 8469 port.
2.activ Proxy mode in odoo.conf
3.add new domain in Plesk
4.setup ssl useing Let's Encrypt.
5.in "Apache & nginx" deaktive Proxy mode
6.in "Additional nginx directives" add:
location ~ ^/.* {
proxy_pass http://0.0.0.0:8469 #for me in plesk, ip is 0.0.0.0 is .not 127.0.0.1
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;
}
longpoing and cache i have not added, you can try it.

Then odoo works perfectly and no Mixt content problem now.

hope i can help you some
 
In general Nginx configuration I use this configuration for Nginx reverse proxy to Odoo:

upstream odoo12a {
server 127.0.0.1:8012;
}

upstream odoo12a-im {
server 127.0.0.1:8072;
}

server {
listen 80;
server_name www.domain.com;
rewrite ^(.*) https://$host$1 permanent;
}

server {
listen 443;
server_name www.domain.com;
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;

ssl on;
ssl_certificate /etc/letsencrypt/live/www.domain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.domain.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

access_log /var/log/nginx/www_domain_com_odoo_access.log;
error_log /var/log/nginx/www_domain_com_odoo_.error.log;

location /longpolling {
proxy_pass http://odoo12a-im;
}

location / {
proxy_redirect off;
proxy_pass http://odoo12a;
}

location ~* /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo12a;
}

gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}

But I don't know how achieve the same functionality with Plesk?, So the point of my question is how to create Nginx reverse proxy to the Odoo?

Thanks,
Tri
I need to install Odoo in plesk with a docker, but I'm having problems.
What method do you use to install Odoo?
I'm not sure what variables I should set, I can't find any information.
 

Attachments

  • Captura de pantalla 2024-01-04 134454.png
    Captura de pantalla 2024-01-04 134454.png
    50.4 KB · Views: 12
  • Captura de pantalla 2024-01-04 135833.png
    Captura de pantalla 2024-01-04 135833.png
    39.3 KB · Views: 9
I need to install Odoo in plesk with a docker, but I'm having problems.
What method do you use to install Odoo?
I'm not sure what variables I should set, I can't find any information.
For me the docker-compose.yaml is:
version: '3.1'
services:
web:
image: odoo:17.0
depends_on:
- db
ports:
- "8469:8069" #you an chang it
- "8072:8072" #for live chat
volumes:
- odoo-web-data:/var/lib/odoo
- /root/odoo17/config:/etc/odoo
- /root/odoo17/addons:/mnt/extra-addons
environment:
- PASSWORD_FILE=/run/secrets/postgresql_password
secrets:
- postgresql_password
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD_FILE=/run/secrets/postgresql_password
- POSTGRES_USER=odoo
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- odoo-db-data:/var/lib/postgresql/data/pgdata
secrets:
- postgresql_password
volumes:
odoo-web-data:
odoo-db-data:

secrets:
postgresql_password:
file: odoo_pg_pass
AND creat a file with filename odoo_pg_pass in the same fold of odoo, fill your pg password in the file.
1706860670619.png
AND don't forget to creat a odoo.conf in config fold.
[options]
proxy_mode = True
addons_path = /mnt/extra-addons
limit_memory_hard = 1677721600
limit_memory_soft = 629145600
limit_request = 8196
limit_time_cpu = 60
limit_time_real = 1200
max_cron_threads = 1
workers = 4
interface = localhost
secure = False
longpolling_port = 8072
THEN run docker-compose up -d

After that, you can use Plesk "Docker Proxy Rules" to map the Port to Domain. then you can access odoo the your domain.
BUT for this method, a always get Mixed Content problem.

So i don't use "Docker Proxy Rules", but use the method that a writed befor:
I installed odoo 17 under Plesk and slove the Mixed Content problem.

1.install odoo and db per docker-compose as usual. Mapped 8469 port.
2.activ Proxy mode in odoo.conf
3.add new domain in Plesk
4.setup ssl useing Let's Encrypt.
5.in "Apache & nginx" deaktive Proxy mode
6.in "Additional nginx directives" add:

longpoing and cache i have not added, you can try it.

Then odoo works perfectly and no Mixt content problem now.

hope i can help you some
 
For me the docker-compose.yaml is:

AND creat a file with filename odoo_pg_pass in the same fold of odoo, fill your pg password in the file.
View attachment 25430
AND don't forget to creat a odoo.conf in config fold.

THEN run docker-compose up -d

After that, you can use Plesk "Docker Proxy Rules" to map the Port to Domain. then you can access odoo the your domain.
BUT for this method, a always get Mixed Content problem.

So i don't use "Docker Proxy Rules", but use the method that a writed befor:
Thank you very much, but what I was looking for was how to be able to do it without having to access the terminal.

I think I am forced to create an odoo container and a postgre container.

How can I configure them on the same network without needing to access via terminal?
 
Back
Top