要約
502 Bad Gatewayエラーは、プロキシサーバーまたはゲートウェイサーバーがアップストリームのオリジンサーバーから無効な応答を受信したときに発生します。IETFが定義するHTTPステータスコードに準拠しており、このエラーはDNSの構成ミス、サーバーの過負荷、ファイアウォールの接続の問題が原因で発生する可能性があります。開発者とエンドユーザーの双方が、問題を迅速に診断して解決するための実用的な手順を利用できます。
502 Bad Gatewayエラーについて
Webサイトの読み込み中に「502 bad gateway」というメッセージが表示されます。
何が起きているのでしょうか?
「502 bad gateway」メッセージは、あるサーバーが別のサーバーから無効な応答を受信していることを意味します。基本的に、ページを読み込むために必要なすべてのビットを取得するはずの中間デバイス(エッジサーバーなど)に接続しています。このプロセスが正しく機能していないため、問題を示すメッセージが表示されています。
ここでは、「502 bad gateway」の意味をもう少し詳しく説明し、この問題を解決する5つの方法を紹介します。
「502 bad gateway」の意味
インターネット上のトランザクションはHTTP (hypertext transfer protocol)によって制御されています。HTTPはIETF (Internet Engineering Task Force)がリリースしたWebの通信規約です。 HTTPでは問題に番号が割り当てられています。
IETFの定義では、502ステータスコードはいくつかの状態を示します。
プロキシ:「bad gateway」が返された場合、ゲートウェイまたはプロキシ サーバーを介して接続が行われています。
接続: プロキシが元のサーバーに接続を試みています。
誤り: プロキシがサーバーから無効な応答を受信しています。
数値で表現すると誤解を招く可能性もありますが、これは非常に便利な方法で、ページが読み込まれない様々な理由を1つの簡単な数字で表すことができます。
502 Bad Gatewayエラーを防止し、修正する方法とは?
Webの閲覧中にエラーコードが表示されるのは望ましいことではありません。 このようなエラーでトラフィックがシフトされたり、到達範囲が制限されることがあるため、 開発者はこのエラーを最優先で解決しなければなりません。
「502 Gateway」エラーの主な原因は次のとおりです。
ドメインネームシステム(DNS)。コンピューターは、数値IPを標準形式に解決するためにDNSを参照しています。このシステムに問題があると(たとえば、新しいホスティングサービスに切り替えた場合など)、「Bad Gateway」の警告が表示されます。
トラフィック。 サーバーの訪問者が多すぎるため、要求の解決ができなくなっています。
接続性。 ファイアウォールの設定が原因で、プロキシ通信が妨げられている可能性があります。
開発者は、この問題を次の方法で解決することができます。
評価。 ドメインネームシステム(DNS)の問題でお困りですか?過剰なトラフィックが発生していないか。これにより、どのベンダーに対応を求めればよいか判断できます。
テスト。 pingまたはtracerouteを使用して、サーバーが到達可能かどうかを確認します。
バランス調整。 ファイアウォールをスケールバックして、すべてのトラフィックが到達するようにすることもできます。ただし、この方法は非常に大きなセキュリティリスクを伴います。どのような状態になるか確認してください。
閲覧者は次のことを行います。
再読込み。 単純な問題であれば、しばらくしてからサイトにアクセスすると問題が解決していることがあります。
消去。 ブラウザのキャッシュが原因でスムーズに閲覧できない場合があります。データのダンプを生成して、もう一度やり直します。
エラー502は、Webサイトで発生するHTTPエラーの一つに過ぎません。別の一般的な問題については、ブログのエラー431をご覧ください。
よくある質問(FAQ)
502 Bad Gatewayエラーの原因とは?
502 Bad Gatewayエラーは、通常、DNSの構成ミス(新しいホスティングサービスへの切り替えなど)、訪問者の過多によるサーバーの過負荷、またはプロキシとオリジンサーバー間の通信をブロックするファイアウォールの設定の問題によって発生します。
502エラーにおけるゲートウェイとプロキシサーバーの違いは何ですか?
502エラーのコンテキストでは、ゲートウェイとプロキシサーバーはどちらも、ユーザーとオリジンサーバーとの間にある中間デバイスとして機能します。IETFのHTTPステータスコードの定義によると、502エラーは、ゲートウェイまたはプロキシサーバーが、ユーザーに代わってアクセスしようとしていたアップストリームのオリジンサーバーから無効な応答を受信したことを意味します。
開発者が502 Bad Gatewayエラーを診断するには、どうすればよいですか?
開発者は、まず問題の原因がDNSの問題なのか、それともトラフィックの過負荷なのかを評価し、どちらのベンダーに連絡すべきかを判断します。その後、pingまたはtracerouteを使用して、サーバーにアクセスできるかどうかを確認できます。必要に応じて、セキュリティリスクを念頭に置きながらファイアウォールの設定を見直し、トラフィックがサーバーに到達していることを確認することもできます。
Webサイトの訪問者が502 Bad Gatewayエラーを目にした場合、どうすればよいでしょうか?
Webサイトの訪問者は、しばらく待ってからページを再読み込みすることで、単純なトラフィックの問題が自然に解決される場合があります。スムーズなブラウジングを妨げることがあるブラウザのキャッシュをクリアしてから、再度ページの読み込みを試すこともできます。
ファイアウォールの設定変更で502エラーは解決できますか?また、どのようなリスクがありますか?
はい。ファイアウォールの設定を縮小すると、すべてのトラフィックがサーバーに確実に到達するようになり、プロキシ通信のブロックが原因で発生する502エラーを解決できる場合があります。ただし、これには重大なセキュリティリスクが伴うため、このような変更を行う前にその影響を十分に理解しておくことが重要です。
HTTPの502 Bad Gatewayエラーは、どの標準で規定されていますか?
502 Bad Gatewayエラーは、Hypertext Transfer Protocol(HTTP)、具体的にはInternet Engineering Task Force(IETF)によって定義されたルールによって規定されています。502ステータスコードはIETFのHTTP/1.1仕様で文書化されており、ゲートウェイまたはプロキシがアップストリームサーバーから無効な応答を受信したことを示します。
参考文献
Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content (2014年6月)Internet Engineering Task Force.