2021年12月16日更新
504 Gateway timeout(504エラー)の原因と解決方法を解説
504 Gateway timeout(504エラー)はWebサイトを利用する上で最も目にしやすいエラーの一つです。この記事では、504 Gateway timeoutとはどのような意味で何が原因7日、対処法や解決法はどうしたらいいのか詳しく解説します。
504 Gateway timeout(504エラー)の原因と解決方法
Webサイトを利用していると、時々504 Gateway timeoutというエラー表示でサイトにアクセスできなくなることがあります。504 Gateway timeoutとはどのようなエラーなのでしょうか。この記事では、504 Gateway timeoutについて解説します。
504 Gateway timeout(504エラー)とは
504 Gateway timeoutの意味とはどのような意味なのでしょうか。
504 Gateway timeout(504エラー)の意味
Webサイトを表示するためには、ブラウザがサーバーへリクエストを送信して、そのリクエストをサーバー側が処理してWebページの表示に必要なリソースを返します。このときに、処理に時間がかかりすぎてタイムアウトになってしまうときに、504 Gateway timeoutのエラーが表示されます。
504はステータスコード
似たようなコードは他にもあります。502や503、504等の500番代は接続にエラーが起きた場合に返されるステータスコードです。頻発するようだとSEOに悪い影響を及ぼします。ステータスコードにはエラーコードの他にも、正常に接続できた場合の200番代のコードなどもあります。
原因
504 Gateway timeoutは接続がタイム・アウトしてしまうエラーですが、その原因とはどのようなものが考えられるのでしょうか。
1つのリクエスト処理に2つのサーバーが関係する場合に発生しやすい
1つのリクエストに対して、2つのサーバーを経由する場合に起こりやすいエラーです。最初のサーバーが第2のサーバーからの応答を待っている間にタイムアウトしてしまいます。
プロキシに問題がある
プロキシの設定に何らかの問題がある場合にも起こりやすいエラーです。
待ち時間が短い
プロキシのタイムアウトになるまでの待ち時間の設定が短すぎることが原因の場合があります。
対処方法と解決方法
504 Gateway timeoutへの対処法、解決法について見ていきましょう。サイトにアクセスする側の対処法・解決法と、サイトを運営する型の対処法・解決法をそれぞれ解説します。
アクセスした側
サイトにアクセスしたら504 Gateway timeoutのエラーが表示されてアクセスできない場合の対処法は次のとおりです。
- ページの再読み込み
数分待ってからページを再読込してみましょう。キーボードの「F5」を押すとページが再読込されます。ブラウザのキャッシュをクリアしてから再読込する場合には「Ctrl + F5」のショートカットを押します。
- モデムやルーターの再起動
ネットワーク機器の不具合が504 Gateway timeoutの原因になる場合があります。モデムやルーターの不具合は再起動で解消することが多いので、いったん電源を切ってから数分後に再起動してみましょう。
- プロキシの設定を確認する
プロキシサーバーの設定に誤りがあるために504 Gateway timeoutが出る可能性があります。いったんプロキシサーバーを無効化してページを再読込してみましょう。Windows10でのプロキシーサーバーの無効化は次のとおりです。
Windows10の「設定」を開いて「ネットワークとインターネット」>「プロキシ」と進み、「プロキシサーバーを使う」をオフにします。
- DNSキャッシュをクリアする
Windowsはコマンドプロンプトに次のコマンドを入力してDNSキャッシュをクリアしてみましょう。
ipconfig /flushdns
Macはターミナルで次のコマンドを実行します。
sudo killall -HUP mDNSResponder
- 高速回線への乗り換え
サイトの利用者からのWebサーバーへの時間がかかりすぎると504 Gateway timeoutになることがあります。短時間でサイトを表示できるように、高速回線への乗り換えが必要です。
サイト運営側
上記のサイトの利用者側の対処法では解決できない場合には、サイトの運営者側の対応が必要になります。
- サーバーのアップグレード
サイトに掛かる負荷をサーバーが処理できていない可能性があります。十分なリソースを持つサーバーへのアップグレードを検討しましょう。
- PHPワーカープロセスを追加する
プログラミングコードの実行に必要なPHPワーカープロセスが足りないと504 Gateway timeoutが起こります。サーバーの運営会社にPHPワーカープロセスの追加を依頼してください。
- ファイアウォールの設定の見直し
ファイアウォールの設定がおかしくてサーバーへの通信の接続ができない状態になっている可能性があります。いったんファイアウォールを停止して接続できるか確認し、停止で接続できるようになったら設定を確認してみましょう。
- 悪意のある攻撃がないか確認
故意にサーバーに負荷をかける攻撃を受けた可能性があります。アクセス解析で不自然なアクセスが大量にないか確認して見ましょう。攻撃を受けた場合には、IPアドレスを割り出してサーバーの運営会社にブロックするように依頼しましょう。
- WordPressを利用している場合には
WordPressを運用していて504 Gateway timeoutのエラーが頻繁に起こる場合には、次の2点を確認しましょう。
- WordPressデータが破損していないか確認
- プラグインとテーマを確認
破損したデータや、新規追加したプラグインやテーマにバグがあることが原因の場合があります。データの削除や修復、プラグインやテーマの停止等で対処できます。