127.0.0.1:3000
で公開されているNodeJSアプリのフロントエンドとしてNGINXをセットアップしようとしていますが、この502エラーを解決できません。 NGINXはhttp://55.55.55.5/
またはhttp://dev.example
でローカルに到達可能です
dev.example(file in:/ etc/nginx/sites-available and symlinked to sites-enabled)
upstream up_dev.example {
server 127.0.0.1:3000;
}
server {
listen 0.0.0.0:80;
server_name dev.example example;
access_log /var/log/nginx/dev.example.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;
proxy_pass http://up_dev.example/;
proxy_redirect off;
}
}
error.log
2014/09/17 19:38:26 [エラー] 1679#0:* 1アップストリームへの接続中にconnect()が失敗しました(111:接続が拒否されました)、クライアント:55.55.55.1、サーバー:、リクエスト: "GET/HTTP/1.1 "、アップストリーム:$
httpd_can_network_connect
がデフォルトでオフになっているため、接続が確立されないのはSELinuxである可能性もあります。
getsebool httpd_can_network_connect
これがオンになっているかどうかを確認します。そうでない場合は、実行してオンにします
setsebool -P httpd_can_network_connect on
-P
は永続的な変更を意味するため、再起動後も新しいブール値が引き続き有効です。
接続が拒否されたということは、サーバーのポート3000をリッスンしているソフトウェアがないことを意味します。 Node.JSが正しく実行されていること、およびNode.JSがポート3000をリッスンしていることを確認する必要があります。
- proxy_pass http://up_dev.example/
+ proxy_pass http://up_dev.example
それを試してみてください