502

Bad Gateway

公式 サブステータスコード
下流サーバーがエラーメッセージを返した

HTTPステータスコード502の仕様

ステータスコード502 Bad Gatewayは、サーバーがゲートウェイまたはプロキシとして動作しているときに、リクエストを満たそうとしてアクセスしたインバウンドサーバーから無効な応答を受け取ったことを示します。

出典・引用元はこちら 502 Bad Gateway HTTP Status Code は、6.6.3 のセクションで規定されています。

PHPで502ステータスコードを投げるには?

WebページでHTTPステータスコード502を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(502) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

502 HTTPステータスコードのテスト

クライアント側でHTTPステータスコード(ここでは502 Bad Gateway)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:

ステータスコード 502 Bad Gateway
概要
URL: https://http-statuscode.com/errorCodeExample.php?code=502
ステータス: 502 Bad Gateway
それらの: Network
IPアドレス: XX.XX.XX.XX
ステータスコード 502 Bad Gateway

502ステータスコードの問題を解決するにはどうすればよいですか?

HTTPステータスコード502 Bad Gatewayは通常プロキシサーバによって返されます。プロキシサーバはクライアント(例えばウェブブラウザ)とクライアントが通信したいサーバとの間で仲介役を果たします。このエラーは、プロキシサーバーが上流のサーバーから無効な応答を受け取ったときに発生します。

  • 上流のサーバーが過負荷であるか、到達不可能である:HTTPステータスコード502 Bad Gatewayの一般的な原因は、プロキシサーバーが接続する上流サーバーが過負荷または到達不能であることです。この場合、上流サーバーが正常に機能しており、リクエストを処理するのに十分なリソースがあることを確認する必要があります。サーバーのログやネットワーク接続を確認し、問題がないかどうかを確認してください。
  • ネットワークの問題:プロキシサーバーとアップストリームサーバー間のネットワークの問題も考えられます。これは、不安定な接続、DNSの問題、または通信を妨げているファイアウォールの設定である可能性があります。ネットワーク設定を確認し、必要なポートがすべて開いていること、接続が安定していることを確認してください。また、DNSの解決をテストし、アップストリーム・サーバーが正しく解決されていることを確認します。場合によっては、ネットワークの問題を解決するためにプロキシサーバーを再起動することも有効です。
  • プロキシサーバーの設定ミス:プロキシサーバーの設定が正しくない場合も、HTTPステータスコード502 Bad Gatewayになることがあります。プロキシ設定が正しく、プロキシサーバーがリクエストをアップストリームサーバーに正しく転送していることを確認してください。プロキシの設定ファイルと設定が正しいことを確認してください。場合によっては、プロキシサーバーを更新するか、別のバージョンに切り替えて、既知の問題を修正することも有効です。
  • 上流サーバーのアプリケーションが異常です:HTTPステータスコード502 Bad Gatewayの原因となる、アップストリームサーバーのアプリケーションや設定に問題がある可能性もあります。アプリケーションとサーバーのログをチェックして、可能性のあるエラーや例外を探します。既知の問題を修正するために、アプリケーションを更新または修復してください。
  • プロキシサーバー自体の問題:最後に、HTTPステータスコード502 Bad Gatewayは、プロキシサーバー自体の問題によって引き起こされることもあります。これはソフトウェアのエラー、アップデートの欠落、またはハードウェアの問題による可能性があります。プロキシサーバーのログにエラーメッセージや警告がないか確認してください。プロキシサーバーを最新バージョンに更新し、既知の問題がないか確認する。
    • HTTPステータスコード502 Bad Gatewayの解決は、特定の環境や構成に大きく依存することに注意することが重要です。問題の診断と解決には、経験豊富な開発者やシステム管理者と一緒に作業することが役立つ場合があります。

ステータスコード502のエラーページを自作する方法

502 Bad Gatewayエラーページの作成は、「Apache」「NGINX」どちらのウェブサーバーでも比較的簡単に行うことができます。

Apache Webserver

Webサーバー「Apache」は、インターネット上で最も一般的なWebサーバーの1つです。Apache」で独自の502 Bad Gatewayエラーページを作成するためには、以下のファイルを変更する必要があります。

File: .htaccess
ErrorDocument 502 /errors/502.html

NGINX Webserver

Webサーバー「Apache」と同様に、「NGINX」もインターネット上で広く利用されています。NGINX」で独自の502 Bad Gatewayエラーページを作成するためには、以下のファイルを変更する必要があります。

File: sites-enabled/default
error_page 502 /502.html;
location = /502.html {
    root /usr/share/nginx/html;
    internal;
}

502ステータスコードのブラウザ互換性

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

プログラミング言語における定数

HttpStatusCode.BadGateway
http.StatusBadGateway
Response::HTTP_BAD_GATEWAY
httplib.BAD_GATEWAY
http.client.BAD_GATEWAY
http.HTTPStatus.BAD_GATEWAY
:bad_gateway

502 ステータスコードのサブステータスコード

サブステータスコードは純粋に技術的なものであり、決してユーザーに送信されるべきではありません。例えば、ステータスコード502.1が投げられた場合、それは記録されるかもしれませんが、ステータスコード502はユーザーに送信されます。:
502.1 CGI application timeout
HTTP IIS, 非公式
502.2 Bad gateway: Premature Exit
HTTP IIS, 非公式
502.3 Bad Gateway: Forwarder Connection Error (ARR)
HTP IIS, 非公式
502.4 Bad Gateway: No Server (ARR)
HTP IIS, 非公式
502.5 WebSocket failure (ARR)
HTTP IIS, 非公式
502.6 Forwarded request failure (ARR)
HTTP IIS, 非公式
502.7 Execute request failure (ARR)
HTTP IIS, 非公式

HTTPステータスコード502に関するミームを楽しませる

著者: Tony Brüser
著者: Tony Brüser

トニー・ブリュザーは、HTTPステータスコードにこだわりのある熱心なウェブ開発者だ。

LinkedInGitHub