用語辞典・エラー・運用

502 Bad Gateway

502 Bad Gatewayとは

502 Bad Gateway(ファイブ・オー・ツー・バッド・ゲートウェイ)は、中継サーバーが上流サーバーから正常な応答を受け取れなかったことを示すステータスです。

ブラウザーへ応答したサーバーがゲートウェイ・プロキシとして別の上流サーバーへ要求を送り、その処理中に不正な応答を受けた場合です。リバースプロキシ、負荷分散装置、CDN、APIゲートウェイで見かけます。

502を返したゲートウェイ自身は動作しており、クライアント要求を受け取れています。問題の中心はゲートウェイから上流サーバーまでの接続・プロトコル・応答です。

クライアントからゲートウェイまでは成功し、上流サーバーの応答が壊れるリセット、メッセージ不正、TLS失敗、宛先違い、手続き停止を中継点間で切り分ける
ブラウザーの正常な要求をリバースプロキシが受けて上流サーバーへ送り、壊れた応答を受けてブラウザーへゲートウェイエラーを返し、接続断やTLS不整合などの原因を調べるピクトグラム図解
図1画面に同じゲートウェイエラーが出ても、どのゲートウェイとどの上流サーバーの組み合わせかを構成図と要求トークンで特定します。

不正上流サーバーの応答の例

接続のリセット応答前・途中で切断

プロセスの異常終了、再起動、接続維持の不整合、ネットワーク機器によるリセットを確認します。

形式不正のメッセージHTTP応答を解析できない

ステータス行、ヘッダー、境界処理、内容の長さの矛盾を調べます。

TLS失敗ゲートウェイと上流サーバーの安全接続

名前、CA連鎖、期限、SNI、プロトコル・暗号方式を確認します。

接続先の取り違えポート番号・プロトコル・サービスが不一致

HTTPをHTTPS用ポートへ送るなどの設定差を確認します。

上流サーバーの異常終了処理中にサービスが停止

稼働確認が通っても個別の要求で停止する場合があります。

500・502・503・504を分ける

コード中心となる観測主な調査点
500応答サーバー内部の予期しない状態アプリケーション内部
502ゲートウェイが上流サーバーから不正な応答ゲートウェイ–上流サーバー間
503サーバーが一時的に処理不能処理余力・メンテナンス
504ゲートウェイが期限内に上流サーバーの応答を得ない上流サーバーの応答待ち・遅延

実装が内部エラーを一律502へ変換する場合もあり、コードだけで原因を断定しません。どの構成要素がステータスを生成したかをログで確かめます。

中継点ごとの診断

  1. 要求パスを描くDNS、CDN、負荷分散装置、プロキシ、サービス、補助プロセスを順に並べます。
  2. ゲートウェイログを確認する選択上流サーバー、接続結果、TLS、読み取りエラー、応答バイトを調べます。
  3. 同じネットワーク位置から直接確認要求する名前・ポート番号・SNI・Hostを本番条件に合わせます。
  4. 上流サーバーの正常性とプロセスのログを照合する再起動、メモリー不足による強制終了、配備、接続上限、依存先を時刻で結びます。
  5. プロトコル設定を比較するHTTP版、TLS、接続維持、ヘッダー上限、バッファーを両側で揃えます。

再試行と稼働確認

ゲートウェイが別の上流サーバーへ再試行すれば回復する場合がありますが、POST本文の再送、二重処理、同じ障害系統への集中に注意します。再試行回数、冪等性、異常な上流の切り離し、サーキットブレーカーを組み合わせます。

TCPポート番号が開くだけの稼働確認では、TLS・HTTP・データベース依存先の失敗を見逃します。一方、重すぎる確認は負荷と連鎖障害を起こすため、受け入れ準備と生存確認を分けます。

502はゲートウェイが上流サーバーから有効な応答を得られなかったステータスです。クライアント–ゲートウェイとゲートウェイ–上流サーバーを分け、リセット、メッセージ境界の解釈、TLS、接続口、手続きを中継点ごとのログと確認要求で調べます。

ゲートウェイが受けた不正な上流応答:RFC 9110「502 Bad Gateway」

関連用語