エラーコード辞典 2026-02-26
エラーコード: HTTP 504 Gateway Timeout とは
「504 エラー」が発生する原因と、Nginxやバックエンドのタイムアウト設定の見直し方。
HTTP 504 Gateway Timeout とは
間に立っているゲートウェイやプロキシサーバー(Nginxやロードバランサー)が、背後にいるアプリケーションサーバー(PHPやDBなど)からの応答を待ちきれず、タイムアウトして諦めた場合に発生するエラーです。
502 (Bad Gateway) との違い
- 502: 後ろのサーバーそのものが死んでいる(通信できない)。
- 504: 後ろのサーバーは生きているが、返事が遅すぎる。
よくある発生原因と対処法
- データベースのクエリが重すぎる
大量のデータを集計するSQLや、インデックスが張られていないテーブルへの検索で、数分間処理が返ってこないケースです。
- 対処: スロークエリログを確認し、DBのインデックスチューニングを行うか、非同期処理(後からメールで結果を通知するなど)に変更します。
- 外部APIの応答遅延
自社サーバーから外部サービス(決済API等)を呼び出している際、外部サービスが重いと自社サーバーも待たされ、結果として504になります。
- 対処: 外部API呼び出し時のタイムアウト設定を適切に短くチューニングし、エラーハンドリングを行います。
- プロキシのタイムアウト設定が短すぎる
Nginx等のデフォルトタイムアウト(例: 60秒)よりかかる正常な重い処理がある場合。
- 対処: Nginxの
proxy_read_timeoutやfastcgi_read_timeoutの値を一時的に引き上げます(※ただし根本解決にはなりません)。
- 対処: Nginxの
関連する用語 (エラーコード辞典)
全8件を見るエラーコード: HTTP 503 Service Unavailable とは
「503 エラー」が発生する主な原因(アクセス集中、メンテ、リソース不足)とエンジニアの対処法。
詳しく読む
エラーコード: HTTP 502 Bad Gateway 原因と解決策
「502 Bad Gateway」が発生する仕組みと、インフラ・Webエンジニアが切り分けるべきポイント。
詳しく読む
エラーコード: HTTP 500 Internal Server Error とは
「500エラー」の原因(プログラムのバグ、DB接続エラー)と、エンジニアが最初に見るべきログファイル。
詳しく読む
エラーコード: HTTP 403 Forbidden の原因と解決策
「403 Forbidden (閲覧禁止)」が発生する原因となるパーミッション設定、IPアクセス制限を解説。
詳しく読む
エラーコード: HTTP 401 Unauthorized とは
「401 Unauthorized (認証失敗)」と「403 Forbidden」の違い、Basic認証の解説。
詳しく読む
エラーコード: HTTP 404 Not Found と解決策
「404 Not Found」が発生する原因と、Webサーバー・ルーティング設定における解決アプローチ。
詳しく読む