504 Gateway Timeout (ゲートウェイタイムアウト) の意味、原因と解決、対処方法

インターネットに接続してWEBブラウザから、URLを入力すると以下のように表示されてしまいました。

504 Gateway Timeout

nginx

このエラーは何なんでしょうか?

スポンサーリンク
スポンサーリンク

504 Gateway Timeout (ゲートウェイタイムアウト) とは?意味と原因

504は、HTTPのステータスコードの一つであり、ゲートウェイ・プロキシサーバはURIから推測されるサーバからの適切なレスポンスがなくタイムアウトしたという意味です。

Webブラウザでホームページを見るときには、WebブラウザとそのホームページのあるWebサーバが通信を行います。

Webブラウザに表示されるURLアドレスが、アクセスするWebサーバになるのですが、そのサーバから応答がない場合に「504 Gateway Time-out」が表示されます。

「応答を待ったけど時間切れになった」という意味です。

HTTPのステータスコードの500番台、5xx系はサーバー側のエラーで使われます。

504 Gateway Timeoutの解決方法、対策、回避方法

では、504 Gateway Timeoutが表示された場合、どのようにすれば解決できるでしょうか?

サーバが応答しない原因はいくつか考えられますが、たとえばテレビで紹介されて多くの人一斉にホームページを見に行ったり、人気アーティストのライブチケットや、人気ゲームなどの発売でアクセスが集中したり、あるいはWebサイトがDoS攻撃というサイバー攻撃を受けたりして、サーバがアクセスのリクエストをさばききれないときに表示されます。

Webサーバがダウンしている可能性が高いので、時間をおいて再度アクセスするか、そのサイトの関連情報を検索してみると良いでしょう。

このエラーに対しては、ユーザー側で対処方法とか回避方法はありません。

メルカリとか新しいサービスで発生した場合、運営側のサーバーの原因である可能性が高いです。

ユーザー側での対処方法としては、以下の要にキャッシュを消してみる。

パソコンのインターネットの閲覧履歴を完全に消す(削除する)方法と見る方法 (ブラウザ別 Chrome, Firefox, IE, Safari)
インターネットをブラウザで閲覧した時に、ブラウザに履歴が残りますが、ブラウザの履歴の確認方法と削除方法をまとめました。 ...

その後、

パソコン ⇒ ログアウトして再度ログイン

スマホアプリ ⇒ 終了し再度アプリを起動

これで解決できない場合は、サーバー側の回復を待つしかありません。

504 Gateway Timeout awsで発生 ELB (Elastic Load Balancing) の設定か?

Amazon awsで、504 Gateway Timeoutが出るのは、ELBの設定の可能性があります。

デフォルトでは、Elastic Load Balancing はアイドルタイムアウトを 60 秒に設定しています。

そこで、以下の設定を試してみます。

1. https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)にある Amazon EC2 コンソールを開きます。

2. ナビゲーションペインの [LOAD BALANCING] で [ Load Balancers] をクリックします。

3. ロードバランサーを選択します。

4. 下部のペインで、[Description] タブを選択します。

5. [Connection Settings] を見つけ、[(Edit)] をクリックします。

6. [Configure Connection Settings] ダイアログボックスで、[Idle Timeout] の値を入力します。アイドルタイムアウトの範囲は 1 ~ 3600 秒です。

7. [Save] をクリックします。

このようにELBのアイドルタイムアウトを設定してみて下さい。