原因
500番台のエラーはサーバーエラーと呼ばれている。
504 GatewayTimeoutは、サーバーから一定時間内にレスポンスが返ってこない場合に発生する。
サーバーといっても、WebサーバだけでなくDNSサーバの場合も有り得るらしい
リクエストを完了するために必要なDNSなどのサーバからレスポンスを受信できなかった。
一定時間とは
ApacheやnginxなどのWebサーバーで設定された、「この時間内にレスポンス返せなかったらタイムアウトしていいよ」な値。
レスポンスとは
WebコンテンツをWebブラウザで見るときの処理は、ざっくり言うと以下の流れになっている
- Webブラウザから「ページを表示して!」の「リクエスト」を送る
- 「リクエスト」を受け取ったWebサーバは「レスポンス」を返す
- 「レスポンス」を受け取ったWebブラウザ上にWebコンテンツが表示される
confを疑え!
PHPスクリプトなどで作成されている動的なサイトの場合、
conf.phpのようなコンフィグファイルを置いていることが多いと思う。
開発環境のファイルを丸ごと一式入れ替えた際にTimeOutが発生し、原因は、このコンフィグファイルの中身が本番用になっていたことだった。開発用のものに差し替えたら解決した。
(同じファイルで本番でも開発環境でも動くように作っておくのが良いとは思うけど。)
コメント