Skip to content

nginx反向代理配置

ubuntu中的配置

#odoo server
upstream odoo_demo18 {
  server 127.0.0.1:18081;
}
upstream odoochat_demo18 {
  server 127.0.0.1:18082;
}
map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}


server {
    server_name  demo18.yeada.tech;

    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;

    # 增加连接超时时间
    proxy_connect_timeout 300;
    
    # 增加发送请求到后端服务器的超时时间
    proxy_send_timeout 300;
    
    # 增加等待后端服务器响应的超时时间 (最重要的一个)
    proxy_read_timeout 300;

    # 可选:如果使用 WebSocket (Odoo的实时通信),也增加超时
    # send_timeout 300;

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/demo18.yeada.tech/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/demo18.yeada.tech/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/demo18.access.log;
    error_log /var/log/nginx/demo18.error.log;
	
	location /websocket {
    proxy_pass http://odoochat_demo18;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header X-Forwarded-Host $http_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;

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
   # proxy_cookie_flags session_id samesite=lax secure;  # requires nginx 1.19.8
  }

  # Redirect requests to odoo backend server
  location / {
    # Add Headers for odoo proxy mode
	proxy_set_header Host $host;
    # proxy_set_header X-Forwarded-Host $http_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_redirect off;
    #proxy_pass http://odoo_demo18;
	proxy_pass http://odoochat_demo18;

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
	# proxy_cookie_flags session_id samesite=lax secure;  # requires nginx 1.19.8
  }

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

}
server {
    if ($host = demo18.yeada.tech) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name  demo18.yeada.tech;
    return 404; # managed by Certbot


}