エラーカテゴリー
HTTP とサーバーのエラー
HTTP 5xx レスポンスと接続レベルの障害を実践的に解説します。原因がブラウザ、ネットワーク、プロキシ、Web サーバー、アプリケーション、バックエンド依存サービスのどこにあるかを特定するための体系的な方法を紹介します。

このエラーカテゴリーについて
# HTTP とサーバーのエラー
HTTP エラーやサーバーエラーは、リクエストを正常に完了できないときに発生します。500、502、503、504 などの HTTP ステータスコードを返す障害もあります。一方、ブラウザが HTTP レスポンスを受け取る前に発生し、ERR_CONNECTION_REFUSED や ERR_CONNECTION_TIMED_OUT などのメッセージが表示される障害もあります。
ブラウザのメッセージが示すのは症状であり、対処が必要なコンポーネントを必ずしも示しているとは限りません。まず、ブラウザからネットワーク、ネットワークから待ち受け中のサービス、プロキシからバックエンド、アプリケーションから依存サービスのどの境界で失敗しているかを特定します。
まず障害の種類を特定する
HTTP ステータスコードが返された場合
数値のステータスコードは、HTTP に対応したコンポーネントが応答したことを意味します。そのコンポーネントは、アプリケーション自体ではなく、オリジン Web サーバー、リバースプロキシ、ロードバランサー、CDN のいずれかである可能性があります。
- 500 Internal Server Error: リクエストの処理中に、サーバーで予期しない状態が発生しました。まずアプリケーションと Web サーバーのログを確認します。[500 Internal Server Error の解説](/http-500-internal-server-error)も参照してください。
- 502 Bad Gateway: プロキシがバックエンドから無効、空、または利用できないレスポンスを受け取りました。バックエンドのプロセス、上流ホストとポート、プロキシとオリジン間の接続を確認します。[502 Bad Gateway の解説](/http-502-bad-gateway)も参照してください。
- 503 Service Unavailable: その時点でサービスがリクエストを処理できません。メンテナンスモード、容量不足、利用できないプロセス、依存サービスの障害などが考えられます。[503 Service Unavailable の解説](/http-503-service-unavailable)も参照してください。
- 504 Gateway Timeout: ゲートウェイがリクエストを転送したものの、タイムアウト時間が過ぎるまでにレスポンスを受け取れませんでした。バックエンドは稼働していても、処理が遅い、過負荷状態、または別のサービスを待機している可能性があります。[504 Gateway Timeout の解説](/http-504-gateway-timeout)も参照してください。
ステータスコードだけでは、どのレイヤーで障害が発生したかは判断できません。レスポンスのブランディング、ヘッダー、タイムスタンプ、ログを確認し、レスポンスがオリジンから返されたのか、中間コンポーネントから返されたのかを特定します。
ブラウザが接続エラーを報告する場合
接続レベルのエラーは、ブラウザが想定されたエンドポイントから通常の HTTP レスポンスを受け取れなかったことを意味します。
- ERR_CONNECTION_REFUSED: 宛先には到達しましたが、接続が拒否されました。想定されたポートでサービスが待ち受けているか、ローカルまたはネットワークのセキュリティルールがアクセスに影響していないかを確認します。開発環境については、[localhost での ERR_CONNECTION_REFUSED](/err-connection-refused-localhost)を参照してください。
- ERR_CONNECTION_TIMED_OUT: ブラウザが待機したものの、利用可能なレスポンスを受け取れませんでした。アプリケーションが生成した HTTP エラーを調べる前に、ネットワーク経路、ルーティング、フィルタリング、DNS、サーバーへの到達性、リソースの利用可能性を確認します。[ERR_CONNECTION_TIMED_OUT の解説](/err-connection-timed-out)も参照してください。
実践的な診断手順
1. 障害を再現して記録する
一度だけページを再読み込みし、その後、同じ URL をプライベートウィンドウまたは別のデバイスで試します。正確な URL、エラーテキスト、ステータスコード、おおよその発生時刻、表示されたレスポンスページを記録します。CDN やプロキシのブランディングがあるページが表示される場合、リクエストは中間コンポーネントまで到達した可能性があります。一般的なブラウザメッセージの場合は、利用可能な HTTP レスポンスが届かなかった可能性があります。
1 台のブラウザまたはデバイスだけで失敗する場合は、そのプロキシ、VPN、DNS キャッシュ、拡張機能、ローカルのセキュリティソフトを確認します。同じ URL が複数のデバイスやネットワークで失敗する場合は、サーバー、プロキシ、オリジン、または共有ネットワーク経路に原因がある可能性が高くなります。
2. 影響範囲を定義する
問題が 1 つのルート、1 つのホスト、アプリケーション全体、サービス全体のどこに影響しているかを確認します。
- 1 つのルートだけが失敗する場合は、アプリケーションコード、ルート固有の依存サービス、または遅いクエリが原因の可能性があります。
- すべてのルートで 500 が返る場合は、アプリケーションまたはサーバー設定のより広範な問題が考えられます。
- プロキシ全体で 502 または 504 が発生する場合は、オリジンのプロセス、上流接続、またはプロキシ設定を確認します。
- 1 つのポートで接続が拒否され、他のサービスは利用できる場合、想定されたサービスだけが待ち受けていない可能性があります。
可能であれば、正常に動作するエンドポイントと失敗するエンドポイントを比較します。ルーティング、認証、依存サービス、デプロイ状態の違いは、関係のないクライアント設定を変更するよりも有用な情報になることがあります。
3. レスポンスを生成したコンポーネントを確認する
500 の場合は、障害発生時刻とアプリケーションおよび Web サーバーのログを照合します。502、503、504 の場合は、プロキシまたはゲートウェイのログとバックエンドのログを両方確認します。停止したプロセス、失敗したデプロイ、依存サービスへの接続失敗、リソース不足、関連するタイムアウトを超えるリクエストがないか調べます。
ローカルで ERR_CONNECTION_REFUSED が発生した場合は、Apache または Nginx が実行中で、設定されたポートが利用可能かを確認します。XAMPP、Laragon、MAMP では、Web サーバーが起動していない場合や、別のプログラムが想定されたポートへのバインドを妨げている場合に、この症状が発生することがあります。
4. オリジンと依存サービスを個別にテストする
サービスを管理している場合は、プロキシ接続が成功したからといってアプリケーションが正常だと判断せず、バックエンドが接続を受け付け、単純なエンドポイントに応答するかを確認します。次に、データベースなどの必須サービスや、設定されているその他の依存サービスを確認します。
稼働していても一貫して遅いバックエンドは、停止しているバックエンドや利用できないレスポンスを返すバックエンドよりも 504 と整合します。後者は 502 の原因になる可能性があります。サービスが意図的に利用できない場合や、必要な依存サービスを利用できない場合は、アプリケーションのリクエストが処理される前に 503 が発生することがあります。
トラブルシューティングの方法として、繰り返しページを再読み込みするのは避けてください。根本のプロセス、依存サービス、タイムアウトの問題を調査している間に負荷を増やす可能性があります。
エラーの詳細からレイヤーを特定する
レスポンス本文、ヘッダー、タイムスタンプから、どのコンポーネントが障害を処理したかが分かることがあります。
- 一般的なブラウザメッセージは、通常、利用可能な HTTP レスポンスが受信されなかったことを示します。
- プロキシまたは CDN のブランディングがあるページは、中間コンポーネントがエラーを生成または表示したことを示します。
- アプリケーション固有のエラーページは、オリジンアプリケーションをより直接的に示している可能性があります。
断続的な障害の場合は、デプロイ、トラフィックの増加、プロセスの再起動、依存サービスのレイテンシーと発生時刻を照合します。継続的な障害の場合は、サーバー設定を変更する前に、正常なリクエストと失敗するリクエストを比較し、設定の違いを確認します。
Cloudflare を利用しているサイトでは、Cloudflare のブランディングが付いた 504 は通常、エッジが適用されるタイムアウト時間内にオリジンからレスポンスを取得できなかったことを意味します。[Cloudflare 配下での 504 Gateway Timeout の解説](/504-gateway-timeout-cloudflare)では、オリジンの問題と、別のゲートウェイまたはオリジン自体が生成したタイムアウトを切り分ける方法を説明しています。
サポートを依頼するときに含める情報
役立つ報告には、次の情報が含まれます。
- 正確なエラーテキストとステータスコード
- URL のパスとおおよその障害発生時刻
- 他のユーザー、デバイス、ネットワークにも影響しているかどうか
- プロキシ、CDN、ロードバランサーが関与しているかどうか
- 関連する Web サーバー、プロキシ、アプリケーションのログエントリ(パスワード、トークン、その他の秘密情報は削除する)
目的は、障害が発生している境界を特定することです。その境界が分かれば、ブラウザ、ネットワーク、プロキシ、バックエンドの原因を同一視せずに、関連するエラーガイドでより的確な確認を行えます。
ガイド一覧
このカテゴリーのエラーガイド
表示されているエラーから始め、診断から確認まで進めます。
403 Forbiddenエラー:意味と解決方法
HTTP 403 Forbiddenレスポンスは、サーバーがリクエストを理解したものの、要求されたリソースへのアクセスを許可しないことを意味します。アカウント権限、アプリケーションの認可…
診断を読む →404 Not Foundエラーとは?意味と対処方法
HTTP 404 Not Foundは、サーバーには到達したものの、リクエストされたリソースの現在の表現を見つけられなかったことを意味します。まずURLのスペル、大文字と小文字、古いパスを確…
診断を読む →
500 Internal Server Error
500 Internal Server Errorは、リクエストの処理中にサーバーで予期しない問題が発生したことを示します。通常、ブラウザだけでは原因を特定できないため、まず障害発生時刻とPHP、…
診断を読む →
502 Bad Gateway
502 Bad Gatewayは、リバースプロキシ、ロードバランサー、またはCDNがバックエンドサーバーから有効な応答を取得できなかったことを意味します。バックエンドプロセス、プロキシの…
診断を読む →
503 Service Unavailable
503 Service Unavailableレスポンスは、その時点でサービスがリクエストを処理できないことを意味します。一般的な原因には、CPU、メモリ、ワーカー、接続数の上限到達、解除されて…
診断を読む →
504 Gateway Timeout
504 Gateway Timeoutは、プロキシ、CDN、ロードバランサー、またはゲートウェイがバックエンドの応答を待っていたものの、バックエンドが応答する前にタイムアウトしたことを意味し…
診断を読む →
Cloudflare 経由の 504 Gateway Timeout
Cloudflare のブランドが表示された 504 Gateway Timeout は、通常、Cloudflare のエッジがオリジンから時間内に応答を受信できなかったことを意味します。よくある原因には、時間の…
診断を読む →Cloudflare Error 1020 / 1015:アクセス拒否とレート制限
Cloudflare Error 1020は、Cloudflareのファイアウォール、WAF、またはセキュリティルールによってリクエストが拒否されたことを示します。Error 1015は、リクエストが設定済みのレ…
診断を読む →
ERR_CONNECTION_REFUSED
ERR_CONNECTION_REFUSEDは、ブラウザーが宛先アドレスには到達したものの、Webサイトがレスポンスを返す前に接続を拒否されたことを示します。よくある原因には、Webサーバーの停止…
診断を読む →
ローカルホスト(XAMPP、Laragon、MAMP)の ERR_CONNECTION_REFUSED
localhost の `ERR_CONNECTION_REFUSED` は、ブラウザーが待ち受け中のローカル Web サーバーに接続できないことを意味します。XAMPP、Laragon、MAMP では、まず Apache または Ngin…
診断を読む →
ERR_CONNECTION_TIMED_OUT
`ERR_CONNECTION_TIMED_OUT` は、ブラウザーが接続先サーバーまたは中間システムからの応答を待機したものの、接続タイムアウトになるまでに利用可能な応答を受信できなかったことを…
診断を読む →ERR_EMPTY_RESPONSE
`ERR_EMPTY_RESPONSE` は、接続は確立したものの、ブラウザーが利用可能な HTTP レスポンスヘッダーまたは本文データを受信する前に接続が閉じられたことを示します。別のブラウザー…
診断を読む →HTTP 200 OK:意味と確認ポイント
HTTP 200 OKは、サーバーがリクエストを正常に処理し、レスポンスを返したことを意味します。通常は期待される状態ですが、ページの内容、APIデータ、認証動作、アプリケーションロ…
診断を読む →HTTP 201 Created:意味と概要
HTTP 201 Created は、サーバーがリクエストを正常に処理し、1つ以上のリソースを作成したことを意味します。通常、POST またはリソースを作成する PUT リクエストが成功した後に返…
診断を読む →HTTP 204 No Contentとは?意味を解説
HTTP 204 No Contentは、サーバーがリクエストを正常に処理し、意図的にレスポンスボディを返さなかったことを意味します。自動的にエラーを示すものでも、Webサイト全体が停止して…
診断を読む →HTTP 301 Moved Permanently:意味とは
HTTP 301 Moved Permanently は、要求されたリソースに別の URL への恒久的なリダイレクトが設定されていることを意味します。通常、リダイレクト先は `Location` レスポンスヘッダ…
診断を読む →HTTP 302 Foundとは:その意味
HTTP 302 Foundは、リクエストされたリソースが一時的に別のURLで利用可能であることを示します。レスポンスには通常、クライアントが移動すべき場所を示す`Location`ヘッダーが含ま…
診断を読む →HTTP 304 Not Modified:意味と概要
HTTP 304 Not Modified は、クライアントが条件付きの `GET` または `HEAD` リクエストを送信し、キャッシュ済みの表現が現在も有効であることを示します。サーバーはリソースの本文…
診断を読む →HTTP 400 Bad Request:意味と解決方法
HTTP 400 Bad Requestは、構文、パラメーター、ヘッダー、URLなどの詳細が無効なため、サーバーまたは中継コンポーネントがリクエストを処理できなかったことを意味します。まず正確…
診断を読む →HTTP 401 Unauthorized:意味と解決方法
HTTP 401 Unauthorizedは、エンドポイントが認証を要求しているものの、リクエストに有効な認証情報が含まれていないか、認証情報が拒否されたことを意味します。正確なURL、メソッ…
診断を読む →HTTP 405 Method Not Allowed:意味と解決方法
HTTP 405 Method Not Allowed は、サーバーが `GET`、`POST`、`PUT`、`DELETE` などの HTTP メソッドを理解したものの、そのメソッドがリクエストされたリソースでサポートされてい…
診断を読む →HTTP 408 Request Timeout:意味と解決方法
HTTP 408 Request Timeout は、サーバーまたは中間機器が、待機するよう設定された時間内に完全な HTTP リクエストを受信できなかったことを意味します。低速または中断された接続、…
診断を読む →HTTP 409 Conflictとは?意味と解決方法
HTTP 409 Conflictは、対象リソースの現在の状態とリクエストが競合しているため、サーバーがリクエストを完了できないことを意味します。既存リソースとの衝突、同時変更、アプリケ…
診断を読む →HTTP 410 Goneとは?意味と対処方法
HTTP 410 Goneは、リクエストされたリソースが意図的に削除され、そのURLで再び提供される可能性は低いとサーバーが判断していることを意味します。正確なURLとリクエストメソッドを…
診断を読む →HTTP 413 Content Too Large:意味と解決方法
HTTP 413 Content Too Large は、リクエストボディが、サーバーまたは中間コンポーネントが処理可能、あるいは処理するよう設定されているサイズを超えていることを意味します。ファ…
診断を読む →HTTP 414 URI Too Long:意味と解決方法
HTTP 414 URI Too Longは、リクエストターゲット(通常はURLとクエリ文字列)が、受信側のサーバーまたは中継装置が処理可能な長さを超えていることを意味します。誤って生成されたU…
診断を読む →HTTP 415 Unsupported Media Type:意味と解決方法
HTTP 415 Unsupported Media Type は、送信されたコンテンツの形式またはエンコーディングが、そのリソースでサポートされていないためサーバーがリクエストを拒否したことを意味し…
診断を読む →HTTP 422 Unprocessable Contentとは?意味と対処方法
HTTP 422 Unprocessable Contentは、サーバーがリクエストの形式と構文を理解したものの、含まれている指示やデータを処理できなかったことを意味します。一般的な原因は、受け付け…
診断を読む →HTTP 429 Too Many Requests:意味と解決方法
HTTP 429 Too Many Requests は、一定期間内にリクエストを受けすぎたため、サーバーまたは中間処理装置がクライアントにレート制限を適用したことを意味します。`Retry-After` ヘッ…
診断を読む →HTTP 4xxクライアントエラー:意味、診断、解決方法
HTTP 4xxレスポンスは、サーバーまたは中間プロキシが、受信したリクエストを処理できなかったことを示します。まず正確なステータスコードを特定し、URL、メソッド、認証、権限、リ…
診断を読む →HTTP 501 Not Implemented:意味と修正方法
HTTP 501 Not Implemented は、リクエストを処理するために必要な機能をサーバーがサポートしていないことを意味します。設定を変更する前に、正確な URL、HTTP メソッド、レスポン…
診断を読む →HTTP 505 HTTP Version Not Supported:意味と対処方法
HTTP 505は、リクエストで使用されたHTTPプロトコルのメジャーバージョンをサーバーがサポートしていないことを示します。HTTPエンドポイントがレスポンスを返しているため、DNS障害…
診断を読む →HTTP 5xx サーバーエラー:意味、診断方法と対処法
HTTP 5xx レスポンスは、通常は有効なリクエストをサーバーまたは中間コンポーネントが完了できなかったことを示します。正確なステータスコードと、レスポンスを生成したレイヤー(…
診断を読む →Site Administrator
最終レビュー: September 25, 2026
FAQ
よくある質問
500 エラーと接続エラーの違いは何ですか?
500 エラーは、HTTP に対応したサーバーがレスポンスを返したものの、リクエストの処理中に予期しない状態が発生したことを意味します。ERR_CONNECTION_REFUSED や ERR_CONNECTION_TIMED_OUT などの接続エラーは、ブラウザが通常の HTTP レスポンスを受け取る前に発生します。そのため、待ち受け中のサービス、ネットワークアクセス、接続経路から診断を始めます。
502 または 504 エラーは通常、ブラウザが原因ですか?
通常は違います。502 は、プロキシがバックエンドから無効、空、または利用できないレスポンスを受け取ったことを意味します。504 は、ゲートウェイのタイムアウト時間内にバックエンドが応答しなかったことを意味します。ブラウザ設定を変更する前に、プロキシ、オリジンのプロセス、バックエンドのログを確認してください。
503 のメンテナンスページと過負荷状態のサービスを区別するにはどうすればよいですか?
ステータスコードだけでは、これらの原因を区別できません。メンテナンスまたはデプロイの設定、プロセスの状態、リソース使用量、依存サービスの利用可能性を確認します。503 は意図的に発生している場合、容量制限が原因の場合、データベースなどの必要なサービスが利用できない場合があります。
localhost で ERR_CONNECTION_REFUSED が発生するのはなぜですか?
ローカルの Web サーバーが実行されていないか、Apache または Nginx 用に設定されたポートを別のプログラムがすでに使用している可能性があります。XAMPP、Laragon、MAMP のサーバー管理画面を確認し、設定されたポートを確認してから、プロジェクトコードを調べる前にサーバーの起動エラーまたはバインドエラーを確認してください。
ERR_CONNECTION_TIMED_OUT が表示された場合、最初に何を確認すべきですか?
別のネットワークまたはデバイスから URL をテストし、VPN、プロキシ、ファイアウォール、DNS の状態を確認します。複数のネットワークで一貫して失敗する場合は、ルーティング、サーバーへの到達性、フィルタリング、リソース使用量を調査します。タイムアウトは、ブラウザが明示的な拒否を受け取ったのではなく、利用可能なレスポンスを受け取らないまま待機したことを意味します。
Cloudflare の 504 は、Cloudflare がオリジンサーバーだという意味ですか?
いいえ。Cloudflare が生成した 504 は通常、Cloudflare のエッジがオリジンにリクエストを送信したものの、適用されるタイムアウト時間内にレスポンスを受け取れなかったことを意味します。オリジンのパフォーマンスと接続性を確認し、[Cloudflare 504 の解説](/504-gateway-timeout-cloudflare)を使って、どのレイヤーがタイムアウトを生成したかを特定してください。