504 Gateway Time-outとは?原因と解決方法をわかりやすく解説


■ 504 Gateway Time-outとは

「504 Gateway Time-out(ゲートウェイ・タイムアウト)」とは、
ウェブサーバーが別のサーバーへアクセスを試みた際に、一定時間内に応答を受け取れなかったときに発生するエラーです。

ユーザーがサイトにアクセスしたとき、ブラウザはまずWebサーバーにリクエストを送ります。
そのWebサーバーがさらに「上位サーバー(ゲートウェイやプロキシ)」へ処理を依頼している場合、
上位サーバーからの返答が遅い・届かないと「504 Gateway Time-out」としてエラーが返されます。


■ どんなときに発生するのか

代表的な発生原因は以下の通りです。

  1. 上流サーバー(APIサーバー・DBサーバー)の応答遅延
     データベースや外部APIの処理に時間がかかっていると、Webサーバーがタイムアウトしてしまいます。
  2. 通信経路上の問題(DNS・ネットワーク障害)
     ネットワーク機器やDNSサーバーのトラブルで通信が一時的に途切れることがあります。
  3. Webサーバーの設定不備
     NginxやApacheの「timeout」設定値が短すぎる場合、応答を待ちきれず504を返すことがあります。
  4. サーバーの過負荷
     アクセス集中やリソース不足(CPU・メモリ)で応答が遅れると、結果的にタイムアウトが発生します。

■ 504エラーが出たときの確認方法と対処法

【ユーザー側の対処法】

  • ページを再読み込み:一時的な通信不良の場合、再読み込みで解消することがあります。
  • 他の端末・回線で確認:Wi-Fiやルーターの問題を切り分けられます。
  • 時間をおいて再アクセス:サーバー側の過負荷が落ち着くのを待つのも有効です。

【サイト運営者・管理者側の対処法】

  1. サーバーログを確認
     エラー時刻や対象URLをもとに、どの段階で遅延が発生しているかを特定します。
  2. タイムアウト設定の見直し
     Nginxの場合:
     ```
    proxy_read_timeout 300;
    fastcgi_read_timeout 300;

 などを設定し、待機時間を延長します。

  1. 外部APIやDBの処理時間を最適化
     クエリの見直し、キャッシュ導入、非同期処理化などで応答速度を改善します。
  2. サーバーリソースの増強
     CPU・メモリを増設したり、CDN(コンテンツ配信ネットワーク)で負荷分散する方法も有効です。

■ 504と502の違い

ステータスコード名称原因
502 Bad Gatewayゲートウェイサーバーが「不正な応答」を受け取った応答内容が壊れている・異常なレスポンス
504 Gateway Time-outゲートウェイサーバーが「応答を受け取れなかった」応答が遅すぎる・届かない

どちらも「サーバー間通信の問題」ですが、502は「内容の異常」、504は「応答の遅延」が主な違いです。


■ まとめ

「504 Gateway Time-out」は、
サーバー間通信が一定時間内に完了しなかったことを示すエラーです。

サーバー設定や外部サービスの遅延など、さまざまな要因で発生しますが、
定期的な監視と最適化を行うことで多くのケースは未然に防げます。


■ 関連記事おすすめ

  • 502 Bad Gatewayとは?原因と対処法をわかりやすく解説
  • サーバーエラー(5xx系)とは?種類と見分け方を初心者向けに説明
  • HTTPステータスコード一覧と意味まとめ