小编Mar*_*rin的帖子

如果后端关闭,则在短时间内缓冲对 nginx 的请求

我有一个永远运行在 nginx 后面的 nodejs 应用程序。当我部署新代码时,我只是这样做,forever restart但即使在这么短的时间内我也无法获得 502。

如何配置 nginx 以在 502 的情况下继续在这台上游服务器上重试?我尝试设置proxy_connect_timeoutproxy_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)

nginx node.js

8
推荐指数
1
解决办法
2038
查看次数

标签 统计

nginx ×1

node.js ×1