Engintron上的端口8069反向代理在标准NGINX设置下工作时出现问题

Engintron上的端口8069反向代理在标准NGINX设置下工作时出现问题,nginx,Nginx,我有一个在8069端口上运行的Odoo应用程序,虽然这个设置在我的旧服务器上运行得很好,但我的新服务器使用的是Engintron,它似乎有一种与vHost不同的工作方法。突出的问题是,在common_http.conf下,这一行成为运行应用程序所需vhost的副本,但包含在自动生成的配置中,每当创建、删除新cpanel帐户或更新Engintron时,该配置就会被覆盖 在Engintron中正确设置此项的正确方法是什么 公共_http.conf location / { try_files

我有一个在8069端口上运行的Odoo应用程序,虽然这个设置在我的旧服务器上运行得很好,但我的新服务器使用的是Engintron,它似乎有一种与vHost不同的工作方法。突出的问题是,在common_http.conf下,这一行成为运行应用程序所需vhost的副本,但包含在自动生成的配置中,每当创建、删除新cpanel帐户或更新Engintron时,该配置就会被覆盖

在Engintron中正确设置此项的正确方法是什么

公共_http.conf

location / {
    try_files $uri $uri/ @backend;
}
# This location / ends up getting included in the custom 
# vhost which is needed for all of the sites except this Odoo app. 
自定义_vhost.com.conf

upstream example{
 server 127.0.0.1:8069 weight=1 fail_timeout=0;
}

upstream example-chat {
 server 127.0.0.1:8072 weight=1 fail_timeout=0;
}
server {
    listen [::]:80;
    server_name delegates.example.com;
    return 301 https://delegates.example.com$request_uri;
}
server {
    listen [::]:80;
    server_name vendors.example.com;
    return 301 https://vendors.example.com$request_uri;
}
server {
    listen [::]:80;
    server_name example.com;
    return 301 https://example.com;
}
server {
    listen [::]:80;
    server_name *.example.com;
    return 301 https://example.com;
}

server {
    listen [::]:443 ssl;
    server_name pgadmin.example.com;

# well-known_start
    location ^~ /.well-known {
        add_header Host-Header 192fc2e7e50945beb8231a492d6a8024;
        root /home/example/public_html;
    }
# well-known_end
    ssl_certificate /var/cpanel/ssl/apache_tls/*.example.com/combined;
    ssl_certificate_key /var/cpanel/ssl/apache_tls/*.example.com/combined;

     add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
     add_header X-Content-Type-Options nosniff;
     add_header Cache-Control public;

    location / {
    deny all;
        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_pass http://127.0.0.1:5050;
    }
}

server {
        listen [::]:443 ssl;
        server_name example.com www.example.com;
        return 301 https://example.com;

}
server {
    listen [::]:443 ssl http2;
    server_name vendors.example.com delegates.example.com;
    client_max_body_size 200m;
    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

    proxy_set_header Host $host;
    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;
    proxy_set_header X-NginX-Proxy true;
    #proxy_set_header X-Odoo-dbfilter ^%d\Z;

    proxy_redirect off;
    proxy_buffering off;

# well-known_start
    location ^~ /.well-known {
        add_header Host-Header 192fc2e7e50945beb8231a492d6a8024;
        root /home/example/public_html;
    }
# well-known_end

    ssl_certificate /var/cpanel/ssl/apache_tls/*.example.com/combined;
    ssl_certificate_key /var/cpanel/ssl/apache_tls/*.example.com/combined;


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

# adds gzip options
    gzip on;
    gzip_types      text/css text/plain text/xml application/xml application/javascript application/x-javascript text/javascript application/json text/x-json;
    gzip_proxied    no-store no-cache private expired auth;
    #gzip_min_length 1000;
    gzip_disable     "MSIE [1-6]\.";

    location /longpolling {
     proxy_pass http://example-chat;
     }

location ~* /web/static/ {
 gzip_static on;
 proxy_cache_valid 200 90m;
 proxy_buffering on;
 expires 864000;
 add_header Cache-Control public;
 proxy_pass http://example;
}

location / {
 error_page   403  =  https://example.com;
 proxy_pass http://example;
 proxy_redirect off;
 gzip_static on;
}
# The above location becomes a duplicate of the previous default location - which in turn fails the validity of the configuration.

location ~* /web/content/ {
 gzip_static on;
 proxy_cache_valid 200 90m;
 proxy_buffering on;
 expires 864000;
 add_header Cache-Control public;
 proxy_pass http://example;
}



location /web/database/manager {
 deny all;
 error_page 403 https://example.com;
 proxy_pass      http://example;
}
}


由于conf文件是按字母顺序添加的,任何冲突或重复的设置都会被忽略,因此我最终更改了文件的名称,使其包含在其他文件之前。还使用以下命令使文件不可变:

chattr +ai 1_custom_vhost.com.conf

我很确定这不是一个优雅的解决方案,但它现在起作用了