ローカルホストと 127.0.0.1 での Nginx 502 エラー

ローカルホストと 127.0.0.1 での Nginx 502 エラー

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:80801 人のユーザーが Web アプリケーションでパニックを引き起こしたとしても、すべてのユーザーに対してサイトがダウンすることはなくなります。

この理由は何でしょうか? 私も同じことを考えていました。これは、サーバーを使用することでlocalhostDNS要求を実行する必要があり、エラーのために DNS が何らかの理由で利用できないためでしょうか?127.0.0.1localhost

関連情報