504 Gateway Time-outとは?原因と解決方法をわかりやすく解説
■ 504 Gateway Time-outとは
「504 Gateway Time-out(ゲートウェイ・タイムアウト)」とは、
ウェブサーバーが別のサーバーへアクセスを試みた際に、一定時間内に応答を受け取れなかったときに発生するエラーです。
ユーザーがサイトにアクセスしたとき、ブラウザはまずWebサーバーにリクエストを送ります。
そのWebサーバーがさらに「上位サーバー(ゲートウェイやプロキシ)」へ処理を依頼している場合、
上位サーバーからの返答が遅い・届かないと「504 Gateway Time-out」としてエラーが返されます。
■ どんなときに発生するのか
代表的な発生原因は以下の通りです。
- 上流サーバー(APIサーバー・DBサーバー)の応答遅延
データベースや外部APIの処理に時間がかかっていると、Webサーバーがタイムアウトしてしまいます。 - 通信経路上の問題(DNS・ネットワーク障害)
ネットワーク機器やDNSサーバーのトラブルで通信が一時的に途切れることがあります。 - Webサーバーの設定不備
NginxやApacheの「timeout」設定値が短すぎる場合、応答を待ちきれず504を返すことがあります。 - サーバーの過負荷
アクセス集中やリソース不足(CPU・メモリ)で応答が遅れると、結果的にタイムアウトが発生します。
■ 504エラーが出たときの確認方法と対処法
【ユーザー側の対処法】
- ページを再読み込み:一時的な通信不良の場合、再読み込みで解消することがあります。
- 他の端末・回線で確認:Wi-Fiやルーターの問題を切り分けられます。
- 時間をおいて再アクセス:サーバー側の過負荷が落ち着くのを待つのも有効です。
【サイト運営者・管理者側の対処法】
- サーバーログを確認
エラー時刻や対象URLをもとに、どの段階で遅延が発生しているかを特定します。 - タイムアウト設定の見直し
Nginxの場合:
```
proxy_read_timeout 300;
fastcgi_read_timeout 300;
などを設定し、待機時間を延長します。
- 外部APIやDBの処理時間を最適化
クエリの見直し、キャッシュ導入、非同期処理化などで応答速度を改善します。 - サーバーリソースの増強
CPU・メモリを増設したり、CDN(コンテンツ配信ネットワーク)で負荷分散する方法も有効です。
■ 504と502の違い
| ステータスコード | 名称 | 原因 |
|---|---|---|
| 502 Bad Gateway | ゲートウェイサーバーが「不正な応答」を受け取った | 応答内容が壊れている・異常なレスポンス |
| 504 Gateway Time-out | ゲートウェイサーバーが「応答を受け取れなかった」 | 応答が遅すぎる・届かない |
どちらも「サーバー間通信の問題」ですが、502は「内容の異常」、504は「応答の遅延」が主な違いです。
■ まとめ
「504 Gateway Time-out」は、
サーバー間通信が一定時間内に完了しなかったことを示すエラーです。
サーバー設定や外部サービスの遅延など、さまざまな要因で発生しますが、
定期的な監視と最適化を行うことで多くのケースは未然に防げます。
■ 関連記事おすすめ
- 502 Bad Gatewayとは?原因と対処法をわかりやすく解説
- サーバーエラー(5xx系)とは?種類と見分け方を初心者向けに説明
- HTTPステータスコード一覧と意味まとめ


