いくつかの 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 を取得します。
アップストリーム構成を 1 つのインスタンス (たとえば 8124) だけを指すように変更しても、502 は引き続き発生します。
netstat を実行すると、試したポートのいずれかでリッスンしている他のアプリケーションが 0 個表示されます。
NGINX が不良ゲートウェイを報告するのはなぜですか? インスタンスの 1 つがダウンしている場合、NGINX にフォールスルーを実行させるにはどうすればよいですか?