我在几个 NodeJS 实例前面有一个 NGINX 实例(1.4 稳定版)。我正在尝试使用上游模块与 NGINX 进行负载平衡,如下所示:
upstream my_web_upstream {
server localhost:3000;
server localhost:8124;
keepalive 64;
}
location / {
proxy_redirect off;
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 $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_cache one;
proxy_cache_key sfs$request_uri$scheme;
proxy_pass http://my_web_upstream;
}
当端口 3000 的实例不可用时,会出现此问题。我从 NGINX 得到一个 502 Bad Gateway。
如果我将上游配置更改为仅指向一个实例,例如 8124,则 502 仍然会发生。
运行 netstat 显示 0 个其他应用程序正在侦听我尝试过的任何端口。
为什么 NGINX 报告网关错误?如果其中一个实例关闭,我如何让 NGINX 执行失败?