エラーログに次のエラーメッセージが表示され続けるので、すべてのリソースにアクセスできますが、エラーが報告されている理由がわかりません。
エラー:
[エラー] 13368#0:アップストリームへの接続中に* 449 connect()が失敗しました(111:接続が拒否されました)、クライアント:xxxx、サーバー:myserver.com、リクエスト: "GET/stories/mine HTTP/1.1"、アップストリーム: " http:// [:: 1]:5000/stories/mine "、ホスト:" myserver.com "
ポート5000で実行されているnode.js
クラスターに接続を渡しています。何を見逃していたのかわかりませんか?
upstream api {
server localhost:5000;
}
server {
listen 80;
server_name myserver.com;
root /home/user/_api;
# Logging
error_log /home/user/log/api.error.log notice;
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_cache one;
proxy_cache_key sfs$request_uri$scheme;
proxy_pass http://api;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
NginxはIPv6ループバック[:: 1]でノードjsに接続します。 nodejsはおそらくIPv4でリッスンしているだけです。
設定してみてください
upstream api {
server 127.0.0.1:5000;
}
...