サイトを開こうとしたら、突然「504 Gateway Timeout」という画面になった。そういう経験、一度くらいはあるんじゃないでしょうか。
「ゴイノワ」のナギです。504エラーって、見かけた瞬間はなんとなく「サーバーの問題かな」と思いつつも、何がどうタイムアウトしているのか、ぼんやりしたまま閉じてしまうことが多い言葉だと思っています。
この記事では、504エラーの意味と仕組みを順にほどきながら、502や503との違い、ユーザー側でできる対処まで、ひととおり見ていきます。
504エラーの意味をひとことで言うと
504エラーは、中継サーバーが上流サーバーからの応答を時間内に受け取れなかったときに返されるHTTPステータスコードです。正式名称は「504 Gateway Timeout(ゲートウェイタイムアウト)」といいます。
わたしたちがWebサイトにアクセスするとき、ブラウザのリクエストはゲートウェイやプロキシと呼ばれる中継サーバーを経由して、目的のバックエンドサーバーへ届きます。504はその中継地点が「待っていたけど、返事が来なかった」と判断した状態です。
サーバー側の問題なので、ユーザーの操作やインターネット回線が直接の原因ではないのがポイント。画面の向こう側でタイムアウトが起きている、というイメージです。
「ゲートウェイ」って何?
ゲートウェイとは、異なるネットワーク同士をつなぐ中継役のサーバーのことです。玄関口みたいな存在で、外からのリクエストを受け取って、中のサーバーへ振り分ける役割を持っています。
Webサイトでよく使われるリバースプロキシやロードバランサーも、このゲートウェイの一種として動いています。普段は意識しないところですが、ページが表示されるまでの裏側で、けっこう複数のサーバーが連携して動いているんですよね。
なぜタイムアウトが起きるの?
504が発生する主な原因は、バックエンドサーバーの応答が遅れたり、まったく返ってこなかったりすることです。アクセスが集中してサーバーに負荷がかかっている場合や、サーバー間のネットワーク障害、データベースのクエリ処理が遅延している場合などが典型的です。
また、タイムアウトまでの設定時間が短すぎるケースも原因になります。サーバーは「ここまで待ったら処理を打ち切る」というルールを持っていて、その上限を超えると504を返します。無限に待ち続けるわけにはいかないので、ある意味では正常な動作のひとつではあるんですよね。
502・503との違いはどこ?
5xx系のエラーはどれも「サーバー側の問題」ですが、数字ごとに意味がずれています。似たエラーが並ぶと迷いやすいので、ここは先に見ておきたいところ。
| コード | 名称 | 何が起きているか |
|---|---|---|
| 502 | Bad Gateway | 中継サーバーが上流から不正な応答を受け取った |
| 503 | Service Unavailable | サーバーが過負荷やメンテナンスで応答できない状態 |
| 504 | Gateway Timeout | 中継サーバーが上流からの応答を時間内に受け取れなかった |
502と504の違いを一言でまとめると、「変な返事が来た(502)」か「返事が来なかった(504)」かの差です。どちらも中継サーバーが上流と通信できていない状態ですが、起きていることが少し違う。503はサーバー自身が「今は対応できません」と応えている状態なので、また別の種類です。
ユーザーにできる対処は?
504エラーの根本的な解決はサーバー側の対応が必要になります。ただ、ユーザー側でも試せることはいくつかあります。
- ページを数分待って再読み込みする
- ブラウザのキャッシュをクリアして再試行
- 別のブラウザやシークレットモードで開く
- しばらく時間をおいて再アクセスする
一時的な負荷が原因の場合、数分待ってF5キーで再読み込みするだけで解消することがあります。強制再読み込み(WindowsはCtrl+F5、MacはCommand+Shift+R)を使うと、キャッシュを無視して最新の状態を取得しやすくなります。
それでも繰り返し表示されるときは、サーバー側の問題が続いている可能性が高いので、時間をおくか、サイト管理者への問い合わせを検討してみてください。
ナギ繰り返し出るなら、少し時間をあけてみて
504エラー、まず何を見ればいい?
504エラーは「中継サーバーが上流の返事を時間内にもらえなかった」という状態で、ユーザー側の操作ミスではなくサーバー間の通信タイムアウトが直接の原因です。502のように「変な返事が来た」とも違うので、混同しないようにしておくと、エラー画面を見たときに慌てずに済みます。
サイト管理者として対応する場合は、バックエンドサーバーの負荷状況やタイムアウト設定、ネットワーク接続の確認が最初の手がかりになります。一般ユーザーとして見かけた場合は、まず数分待って再読み込みが基本です。
エラーコードは意味を知っていると、次にどこを見ればいいかが少し早く決まるので、「504はタイムアウト」とだけ頭の片隅に置いておくだけでも、次に同じ画面が出たときに焦り方が変わります。











