504エラーとは?表示される仕組みと原因をやさしく解説

サイトを開こうとしたら、突然「504 Gateway Timeout」という画面になった。そういう経験、一度くらいはあるんじゃないでしょうか。

「ゴイノワ」のナギです。504エラーって、見かけた瞬間はなんとなく「サーバーの問題かな」と思いつつも、何がどうタイムアウトしているのか、ぼんやりしたまま閉じてしまうことが多い言葉だと思っています。

この記事では、504エラーの意味と仕組みを順にほどきながら、502や503との違い、ユーザー側でできる対処まで、ひととおり見ていきます。

目次

504エラーの意味をひとことで言うと

504エラーは、中継サーバーが上流サーバーからの応答を時間内に受け取れなかったときに返されるHTTPステータスコードです。正式名称は「504 Gateway Timeout(ゲートウェイタイムアウト)」といいます。

わたしたちがWebサイトにアクセスするとき、ブラウザのリクエストはゲートウェイやプロキシと呼ばれる中継サーバーを経由して、目的のバックエンドサーバーへ届きます。504はその中継地点が「待っていたけど、返事が来なかった」と判断した状態です。

サーバー側の問題なので、ユーザーの操作やインターネット回線が直接の原因ではないのがポイント。画面の向こう側でタイムアウトが起きている、というイメージです。

「ゲートウェイ」って何?

ゲートウェイとは、異なるネットワーク同士をつなぐ中継役のサーバーのことです。玄関口みたいな存在で、外からのリクエストを受け取って、中のサーバーへ振り分ける役割を持っています。

Webサイトでよく使われるリバースプロキシやロードバランサーも、このゲートウェイの一種として動いています。普段は意識しないところですが、ページが表示されるまでの裏側で、けっこう複数のサーバーが連携して動いているんですよね。

なぜタイムアウトが起きるの?

504が発生する主な原因は、バックエンドサーバーの応答が遅れたり、まったく返ってこなかったりすることです。アクセスが集中してサーバーに負荷がかかっている場合や、サーバー間のネットワーク障害、データベースのクエリ処理が遅延している場合などが典型的です。

また、タイムアウトまでの設定時間が短すぎるケースも原因になります。サーバーは「ここまで待ったら処理を打ち切る」というルールを持っていて、その上限を超えると504を返します。無限に待ち続けるわけにはいかないので、ある意味では正常な動作のひとつではあるんですよね。

502・503との違いはどこ?

5xx系のエラーはどれも「サーバー側の問題」ですが、数字ごとに意味がずれています。似たエラーが並ぶと迷いやすいので、ここは先に見ておきたいところ。

コード名称何が起きているか
502Bad Gateway中継サーバーが上流から不正な応答を受け取った
503Service Unavailableサーバーが過負荷やメンテナンスで応答できない状態
504Gateway Timeout中継サーバーが上流からの応答を時間内に受け取れなかった

502と504の違いを一言でまとめると、「変な返事が来た(502)」か「返事が来なかった(504)」かの差です。どちらも中継サーバーが上流と通信できていない状態ですが、起きていることが少し違う。503はサーバー自身が「今は対応できません」と応えている状態なので、また別の種類です。

ユーザーにできる対処は?

504エラーの根本的な解決はサーバー側の対応が必要になります。ただ、ユーザー側でも試せることはいくつかあります。

  • ページを数分待って再読み込みする
  • ブラウザのキャッシュをクリアして再試行
  • 別のブラウザやシークレットモードで開く
  • しばらく時間をおいて再アクセスする

一時的な負荷が原因の場合、数分待ってF5キーで再読み込みするだけで解消することがあります。強制再読み込み(WindowsはCtrl+F5、MacはCommand+Shift+R)を使うと、キャッシュを無視して最新の状態を取得しやすくなります。

それでも繰り返し表示されるときは、サーバー側の問題が続いている可能性が高いので、時間をおくか、サイト管理者への問い合わせを検討してみてください。

ナギ

繰り返し出るなら、少し時間をあけてみて

504エラー、まず何を見ればいい?

504エラーは「中継サーバーが上流の返事を時間内にもらえなかった」という状態で、ユーザー側の操作ミスではなくサーバー間の通信タイムアウトが直接の原因です。502のように「変な返事が来た」とも違うので、混同しないようにしておくと、エラー画面を見たときに慌てずに済みます。

サイト管理者として対応する場合は、バックエンドサーバーの負荷状況やタイムアウト設定、ネットワーク接続の確認が最初の手がかりになります。一般ユーザーとして見かけた場合は、まず数分待って再読み込みが基本です。

エラーコードは意味を知っていると、次にどこを見ればいいかが少し早く決まるので、「504はタイムアウト」とだけ頭の片隅に置いておくだけでも、次に同じ画面が出たときに焦り方が変わります。

情報は更新時点のものです。最新情報は公式サイトもあわせてご確認ください。

この記事を書いた人

「ゴイノワ」ナギ

『くらしごと』では、暮らしの中で気になることや、動く前にちょっと確認しておきたいことをわかりやすくまとめています。

注目記事

よかったらシェアしてね!
  • URLをコピーしました!
目次