私はNode.js/ExpressアプリケーションをUbuntuサーバー上で実行しています。ポート80(またはsslの場合は443)のトラフィックをアプリケーションのポートに渡すNGINXリバースプロキシの背後に位置します。NGINXリバースプロキシが原因で一部のページで502エラーが発生する
私は最近、特定できない理由で、/
にアクセスしようとするトラフィックが、最終的にはエラー504
になり、エラーとタイムアウトになるという問題が発生しました。テストとして、私はタイムアウトを増やし、現在502
のエラーが発生しています。私のアプリケーション上のいくつかの他のルート、例えば/login
に問題なくアクセスできます。
私のExpressアプリケーションを再起動すると、問題が起こらずにアプリケーションが正常に実行されます。通常、この問題が再び発生するまで数日間は問題ありません。このアプリケーションは、約13のために適切に実行されている
GET/- - ms - -
:次のようになり、適切に応答しないリクエストに対し
GET/200 15.786 ms - 1214
:私のエクスプレスのアプリのログを見ると、良い要求は次のようになります問題のない月には、この問題はプロンプトが表示されずに発生しています。私はこれが発生した時間内に更新をプッシュしていません。ここで
は私のnginxの設定ファイル(例えばexample.com
、セキュリティのためのビットを変更)
upstream site_upstream {
server 127.0.0.1:3000;
}
server {
listen 80;
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location/{
proxy_pass http://site_upstream;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_redirect http://rpa_upstream https://example.com;
}
}
は私のnginxの設定ファイルを持つか、私の構成のどちらとしての私のアプリケーション自体と、この問題が変更した場合、私は不明だです。
[私の答え](http://stackoverflow.com/questions/40853469/nginx-reverse-proxy-causes-502-errors-on-some-pages/40854209#40854209)が役に立ちましたか?コメントはありますか? – rsp