504

Gateway Timeout

公式
親サーバーがタイムリーに対応しなかったこと

504ステータスコードに関する一般的な説明

HTTPエラー504 Gateway Timeoutは、サーバーがクライアントからのリクエストに答えようとしたが、妥当な時間内に答えられない場合に発生します。このエラーは通常「ゲートウェイタイムアウト」と呼ばれ、クライアントとサーバーを仲介するプロキシサーバーやゲートウェイが接続できなかったり、サーバーからの応答を受信できなかったりする場合によく発生します。 これには、サーバーの過負荷、ネットワークの問題、プロキシやゲートウェイの不十分な設定など、さまざまな理由が考えられます

HTTPステータスコード504の仕様

504 Gateway Timeoutステータスコードは、サーバーがゲートウェイまたはプロキシとして動作している間に、リクエストを完了するためにアクセスする必要がある上流のサーバーからタイムリーな応答を受信しなかったことを示します。

出典・引用元はこちら 504 Gateway Timeout HTTP Status Code は、6.6.5 のセクションで規定されています。

PHPで504ステータスコードを投げるには?

WebページでHTTPステータスコード504を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

504 HTTPステータスコードのテスト

クライアント側でHTTPステータスコード(ここでは504 Gateway Timeout)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:

ステータスコード 504 Gateway Timeout
概要
URL: https://http-statuscode.com/errorCodeExample.php?code=504
ステータス: 504 Gateway Timeout
それらの: Network
IPアドレス: XX.XX.XX.XX
ステータスコード 504 Gateway Timeout

504ステータスコードの問題を解決するにはどうすればよいですか?

HTTPエラー504 Gateway Timeout「Gateway Timeout」が発生する理由としては、次のようなものが考えられます。

  1. Server overload: サーバーがあまりにも多くのリクエストを受け取り、適切な時間内にそれに答えることができない場合、タイムアウトエラーが発生することがあります。
  2. ネットワークの問題:クライアントとサーバー間のネットワーク接続に問題がある場合にも、タイムアウトエラーが発生することがあります。これは、ネットワーク接続の確認、ルーターまたはファイアウォールの設定の確認、ネットワーク コンポーネントの再起動によって修正できます。
  3. プロキシまたはゲートウェイの問題:クライアントとサーバーを仲介するゲートウェイまたはプロキシもタイムアウト エラーの原因となることがあります。
  4. Slow application or database: アプリケーションやデータベースの動作が遅い場合、これもタイムアウトエラーにつながる可能性があります。

問題を解決するために、次の対策を取ることができます:

  1. サーバーの状態を確認し、過負荷になっていないことを確認する
  2. ネットワーク接続を確認し、安定性と信頼性があることを確認する。
  3. プロキシまたはゲートウェイの設定を確認し、必要に応じて調整します。
  4. アプリケーションまたはデータベースを最適化してパフォーマンスを向上させます。
  5. ネットワークのコンポーネントまたはサーバーを再起動することも問題の解決に役立ちます。

多くの場合、これらの対策の組み合わせで問題を解決できます。

ステータスコード504のエラーページを自作する方法

504 Gateway Timeoutエラーページの作成は、「Apache」「NGINX」どちらのウェブサーバーでも比較的簡単に行うことができます。

Apache Webserver

Webサーバー「Apache」は、インターネット上で最も一般的なWebサーバーの1つです。Apache」で独自の504 Gateway Timeoutエラーページを作成するためには、以下のファイルを変更する必要があります。

File: .htaccess
ErrorDocument 504 /errors/504.html

NGINX Webserver

Webサーバー「Apache」と同様に、「NGINX」もインターネット上で広く利用されています。NGINX」で独自の504 Gateway Timeoutエラーページを作成するためには、以下のファイルを変更する必要があります。

File: sites-enabled/default
error_page 504 /504.html;
location = /504.html {
    root /usr/share/nginx/html;
    internal;
}

504ステータスコードのブラウザ互換性

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

プログラミング言語における定数

HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout

HTTPステータスコード504に関するミームを楽しませる

著者: Tony Brüser
著者: Tony Brüser

トニー・ブリュザーは、HTTPステータスコードにこだわりのある熱心なウェブ開発者だ。

LinkedInGitHub