我有一个永远运行在 nginx 后面的 nodejs 应用程序。当我部署新代码时,我只是这样做,forever restart但即使在这么短的时间内我也无法获得 502。
如何配置 nginx 以在 502 的情况下继续在这台上游服务器上重试?我尝试设置proxy_connect_timeout,proxy_read_timeout然后proxy_send_timeout例如,30s但无论如何我都会立即得到 502 :(
我的网站配置是:
upstream my_server {
server 127.0.0.1:3000 fail_timeout=0;
keepalive 1024;
}
server {
listen 3333;
server_name myservername.com;
access_log /var/log/nginx/my_server.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# retry upstream on 502 error
proxy_connect_timeout 30s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
proxy_pass http://my_server;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_redirect off;
}
} …Run Code Online (Sandbox Code Playgroud)