
127.0.0.1:8080 で Web アプリケーションを実行しています。最初は をnginx.conf
使用して を設定しましたlocalhost:8080
。例:
location / {
proxy_set_header Host $host;
proxy_pass http://localhost:8080;
}
これは 99% の確率でうまくいきました。しかし、問題は、ユーザーがリクエストを行って Web アプリケーションでパニックが発生すると、そのユーザーに 502 エラーが表示されるだけでなく、すべてのユーザーに対して Web サイト全体がダウンしてしまうことでした。Web アプリケーションを手動で再起動するまでは。
想定される動作は、エラーを引き起こしたユーザーには 502 エラーが返されるが、他のすべてのユーザーにはエラーが表示されないというものでした。そのため、サイトはすべてのユーザーにとってダウンするのではなく、引き続きアクセス可能になります。
私は長い間、これを修正する方法に困っていました。127.0.0.1:8080
の代わりにを使うようになるまではlocalhost:8080
。
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
私のサイトを使用すると、127.0.0.1:8080
1 人のユーザーが Web アプリケーションでパニックを引き起こしたとしても、すべてのユーザーに対してサイトがダウンすることはなくなります。
この理由は何でしょうか? 私も同じことを考えていました。これは、サーバーを使用することでlocalhost
DNS要求を実行する必要があり、エラーのために DNS が何らかの理由で利用できないためでしょうか?127.0.0.1
localhost