502 Bad Gatewayエラーとは?発生理由と5つの解決策
目次
502 Bad Gatewayとは?
Webサイトの読み込み中に「502 Bad gateway」というメッセージが表示されることがあります。
何が起きているのでしょうか?
「502 Bad gateway」メッセージは、あるサーバーが別のサーバーから無効な応答を受信していることを意味します。Webサイトを表示する場合、ブラウザは、実際には中間機器(エッジ サーバーやプロキシーサーバーなど)に接続し、その中間機器が、Webサーバーへのリクエストとレスポンスを代理送信することで、セキュリティ向上やページの表示速度高速化など役割を果たしています。このプロセスが正しく機能していないため、問題を示すメッセージが表示されています。
ここでは、「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はウェブ上で以下のように表示されることもあります
-
HTTP Error 502 – Bad Gateway
-
Error 502
-
502 Proxy Error
-
502 Service Temporarily Overloaded
-
Temporary Error (502)
-
HTTP 502
-
502 Server Error: The server encountered a temporary error and could not complete your request
-
Bad Gateway: The proxy server received an invalid response from an upstream server
-
画面が真っ白になるなど
「502 Bad Gateway」の防止と解決策
Webの閲覧中にエラーコードが表示されるのは望ましいことではありません。このようなエラーでトラフィックが中断されたり、アクセス範囲が制限されることがあるため、開発者はこのエラーを最優先で解決しなければなりません。
「502 Gateway」エラーの主な原因は次のとおりです。
-
ドメインの名前解決の問題:コンピューターは、IPアドレスを標準フォーマットに名前解決するためにDNSを参照しています。このDNSシステムに問題があると(たとえば、新しいホスティングサービスに切り替えた、設定に問題がある場合など)、「Bad Gateway」の警告が表示されます。
-
トラフィック負荷:サーバーへのアクセス数が多すぎるため、リクエストが処理できなくなっています。
-
接続の問題:ファイアウォールの設定が原因などで、プロキシ通信が妨げられている可能性があります。
開発者は、この問題を次の方法で解決することができます
-
問題のアセスメント:DNSの問題は解決されているか。過剰なトラフィックが発生していないか。これにより、どのベンダーに対応を求めればよいか判断できます。
-
通信の疎通テスト:pingまたはtracerouteを使用して、サーバーへ到達可能かどうかを確認します。
-
セキュリティの設定を見直す:一旦ファイアウォールの設定を無効にすることで、すべてのトラフィックが到達するようにし、問題が解消されるか確認することもできます。ただし、この方法は非常に大きなセキュリティリスクを伴います。どのようなリスクがあるか確認が必要です。
Web閲覧者は次のことを行います。
- 再読込み:単純な問題であれば、しばらくしてからサイトにアクセスすると問題が解決していることがあります。例えば、サーバーへのアクセス数過多で一時的に負荷がかかり、正常な通信を保てなくなっていた場合には、時間が経ってアクセスが落ち着けば解決します。
-
キャッシュのクリア:ブラウザのキャッシュが原因でスムーズに閲覧できない場合があります。データのダンプを生成して、もう一度やり直します。
エラーステータスコード 502は、Webサイトで発生するHTTPエラーの一つに過ぎません。Webサーバーやアプリケーションサーバーが起因で発生する問題には、500番台の以下のステータスコードもあります。
- 500 Internal Server Error: 内部サーバーエラー
- 501 Not Implemented:ウェブサーバーがリクエストの方法をサポートしていない
- 503 Service Unavailable:ウェブサーバー過負荷などによるサービスの一時的な利用停止
- 504 Gateway Timeout:中継サーバーにおけるリクエストのタイムアウト
その他の一般的な問題(エラー431)については、Oktaのブログをご覧ください
参考文献
Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content(2014年6月)Internet Engineering Task Force