~/devtools / http-status / 504
tool::http-status-detail

504 Gateway Timeout

The gateway did not receive a timely response from an upstream server.

ad · 728×90
ステータスコード
504
名前
Gateway Timeout
カテゴリ
5xx

詳細説明

HTTP 504 Gateway Timeoutは、ゲートウェイまたはプロキシサーバーがアップストリームサーバーから時間内に応答を受け取れなかったことを示します。502(不正なレスポンス)とは異なり、504はタイムアウト内に応答自体が来なかった状況です。遅いデータベースクエリや外部API呼び出しによってアップストリームサーバーの応答が遅延する場合によく発生します。

主な原因
  • アップストリームサーバーが遅いデータベースクエリで応答が遅延している場合
  • プロキシのタイムアウト時間よりアップストリームの処理時間が長い場合
  • アップストリームサーバーが過負荷で応答が遅くなっている場合
  • 外部API呼び出しの遅延でリクエスト全体がブロッキングされている場合
  • ネットワーク混雑によりサーバー間のパケット転送が遅延している場合
解決方法
  • 1.Nginxのproxy_read_timeout、proxy_connect_timeoutの値を増やしてください
  • 2.遅いデータベースクエリを最適化してください(実行計画の分析など)
  • 3.アップストリームサーバーの負荷を確認し、スケールアウトを検討してください
  • 4.外部API呼び出しにタイムアウトとサーキットブレーカーパターンを適用してください
  • 5.長時間処理は非同期処理(キュー、ワーカー)に分離してください

関連HTTPヘッダー

Retry-AfterServer

レスポンス例

HTTP/1.1 504 Gateway Timeout
Server: nginx/1.24.0
Content-Type: text/html

<html><body><h1>504 Gateway Timeout</h1><p>The upstream server did not respond in time.</p></body></html>

関連ステータスコード

500Internal Server ErrorThe server encountered an unexpected condition.501Not ImplementedThe server does not support the requested functionality.502Bad GatewayThe gateway received an invalid response from an upstream server.503Service UnavailableThe server is temporarily unable to handle the request.505HTTP Version Not SupportedThe HTTP version used in the request is not supported.
ad · 300×250
全ステータスコード一覧に戻る
// related tools
Cron Expression Generator
ビジュアルエディタでcron式を作成・解析。次回5回の実行時刻をプレビューし、よく使うプリセットから始められます。
jwt
JWT Decoder
JWTトークンをデコードして内容を確認。ヘッダー・ペイロード・署名の詳細を表示します。
rx
Regex Tester
リアルタイムでマッチをハイライト表示。グループのキャプチャや説明付きで正規表現をテストできます。
Color Converter
HEX・RGB・HSL形式でカラーコードを変換。カラーピッカーで視覚的に選択できます。