504 Gateway Timeoutは、ゲートウェイまたはプロキシとして機能するサーバーが、アップストリームサーバーから適時応答を受信できなかったことを示すHTTPステータスコードです。

504 Gateway Timeout HTTPステータスコードが返される具体的な理由はいくつかあります。

  • プロキシまたはロードバランサーとして機能するゲートウェイサーバーが、ゲートウェイの応答タイムアウトしきい値内で、アップストリームアプリケーションサーバーまたはマイクロサービスから応答を取得できない場合。
  • ゲートウェイの後ろにあるアプリケーションサーバーが過負荷で、ゲートウェイで設定された応答タイムアウトウィンドウ内でクライアントからのリクエストに対する応答を完全に構築するには遅すぎる場合。
  • バックエンドアプリケーションが応答を構築するために依存しているDNS、データベース、またはその他の外部サービスが、ゲートウェイが必要とする重要なデータを提供するには遅すぎる場合。
  • ゲートウェイとアプリケーションサーバー間のWAFや認証レイヤーなどのセキュリティサービスが、リクエストとレスポンスの処理中にタイムアウトしきい値を超える追加の遅延を引き起こす場合。
  • 分離されたゲートウェイとアプリケーションサーバー層間のネットワーク接続でパケットロス、高いジッター、または接続の問題が発生し、タイムアウトを下回る伝送パフォーマンスが低下する場合。
  • アプリケーションは正常に機能していますが、中間ゲートウェイで設定されたタイムアウトが通常の動作パターンに対して積極的すぎる場合。

要約すると、504エラーは、ゲートウェイの後ろにあるシステムの応答時間が不十分なために、許容可能な時間枠内で完全なプロキシアプリケーションの動作を可能にできないことに起因します。