【发布时间】:2013-08-12 19:53:51
【问题描述】:
我在几个 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 执行失败?
【问题讨论】:
-
您确定您的 express 后端运行正常吗?如果直接访问上游端口(@987654322@ 和
localhost:8124),是否得到正确的内容? -
error_log 中有什么内容?