504 Gateway Time-outとは?原因・直し方・スマホ対応までわかりやすく解説
「504 Gateway Time-out」という表示に戸惑った経験はありませんか。
これは、サーバー間の通信がタイムアウトした際に発生するHTTPエラーです。
この記事では、エラーの基本的な仕組みから主な原因、対処法までをわかりやすく解説します。
また、スマホやクラウド環境での発生事例や対処法についても触れています。
ぜひ最後までご覧ください。
また、弊社では「AI使いたいが、どのような適用領域があるのかわからない…」「AI導入の際どのサービス提供者や開発企業を組めばいいかわからない…」という事業者の皆様に、マッキンゼーやBCGで生成AIプロジェクトを経験したエキスパートが無料で相談に乗っております。
興味のある方はぜひ以下のリンクをご覧ください:
代表への無料相談はこちら

AI導入.comを提供する株式会社FirstShift 代表取締役。トロント大学コンピューターサイエンス学科卒業。株式会社ANIFTYを創業後、世界初のブロックチェーンサービスを開発し、東証プライム上場企業に売却。その後、マッキンゼー・アンド・カンパニーにコンサルタントとして入社。マッキンゼー日本オフィス初の生成AIプロジェクトに従事後、株式会社FirstShiftを創業。
504 Gateway Time-outとは?
504 Gateway Time-outは、サーバー間の通信が一定時間内に完了せず、タイムアウトした場合に表示されるHTTPステータスコードです。
特にWebサイト利用中に突然発生するため、ユーザーや管理者の混乱を招くことがあります。
以下では、このエラーの仕組みや他の類似エラーとの違い、主な原因と対処法について詳しく説明します。
エラーの意味と仕組み
504エラーは、インターネット上で情報をやりとりする途中の中継サーバー(ゲートウェイやプロキシ)が、次のサーバーから返事をもらえなかったときに起こるエラーです。
たとえば、NginxやCloudFrontという中継サーバーがアプリのサーバーから返事を待っている間に時間切れになると、504エラーが出ます。
サーバーがいくつもつながっている場合、どこで返事が止まっているのかを調べることが大切です。
そのためには、記録(ログ)を見て、どのリクエスト(アクセス要求)が問題なのかを見つけ出し、どの部分の通信で時間切れが起きているのかを特定する必要があります。
他のエラー(502/503など)との違い
504エラーは、サーバーからの返事が遅すぎて通信が失敗したときに出ます。
502 Bad Gatewayは、中継しているサーバー(ゲートウェイ)が別のサーバーからおかしな返事をもらった場合に出ます。
503 Service Unavailableは、アクセス先のサービス自体が混雑していたり、一時的に止まっていたりするときに出ます。
これらのエラーはすべてサーバー側の問題ですが、原因や直し方が違うので、どのエラーかを見て判断することが大切です。
特に504エラーの場合は、ネットワークの経路を見直したり、タイムアウト(待つ時間の長さ)の設定を調整したりするのが効果的です。
504 Gateway Time-outが発生する原因5選
504エラーは、サーバーの構成ミスやネットワーク障害など、さまざまな要因によって発生します。
本章では、発生頻度が高い5つの主な原因を取り上げ、それぞれの仕組みと影響を解説します。
これらを理解し適切な対処を行うことで、再発防止や迅速な復旧につながります。
アプリケーション層の応答遅延
Webアプリケーションの処理が長時間かかると、バックエンドサーバーが応答できず504エラーが発生します。
大量のデータ処理や無限ループ、外部APIの遅延などが要因です。
特にデータベースクエリが重い場合や外部連携処理でタイムアウトしやすくなります。
この場合、処理の効率化や非同期処理の導入、外部API呼び出しの最適化などを検討する必要があります。
Webサーバー(Nginx/Apache)の設定ミス
Webサーバーのタイムアウト設定やバックエンド接続設定に誤りがある場合、サーバー間通信が途中で遮断され504エラーが発生します。
たとえば、Nginxのproxy_read_timeout
が短すぎると、正常な処理でも切断されてしまう恐れがあります。
そのため、実際のアプリケーションの処理時間を考慮し、設定値を適切に調整することが求められます。
タイムアウト設定の不備
アプリケーションサーバーやプロキシ、ロードバランサーなど、システムを構成する複数のサーバーで「タイムアウト」(処理を待つ時間の上限)の設定がバラバラだと、本来問題なく動くはずのリクエストでもエラーが発生することがあります。
たとえば、裏側で処理を行うサーバー(バックエンド)のタイムアウトが60秒なのに、中継役のプロキシサーバーのタイムアウトが30秒だと、実際には間に合っているリクエストでも、プロキシサーバーが先に待つのをやめてしまい、「504エラー」(ゲートウェイタイムアウト)を返してしまいます。
このようなトラブルを防ぐためには、関係するすべてのサーバーでタイムアウトの設定を揃え、統一しておくことが重要です。
クラウドロードバランサー(AWS ALB等)の構成エラー
クラウド環境では、ALBやELBといったロードバランサーの設定ミスにより504エラーが発生することがあります。
ターゲットグループのヘルスチェック失敗や、通信ポートの不一致、セキュリティグループ設定の不足などが原因となります。
適切なログ監視やアラート設定を行うことで、迅速に異常を検知し対応が可能となります。
ネットワーク負荷やリソース枯渇による一時的障害
突発的なアクセス集中やサーバーリソースの枯渇により、正常な通信が行えなくなる場合もあります。
CPUやメモリの逼迫、ネットワーク帯域の上限到達などにより、バックエンドの応答が遅れ504エラーが返されるケースです。
リソース監視ツールを導入し、負荷状況をリアルタイムで把握することが重要です。
504 Gateway Time-outの解決方法7選
504エラーの解決には、クライアント側の操作からサーバー設定の見直しまで、段階的なアプローチが有効です。
ここでは、実際に効果があるとされる対処法を7つ紹介し、状況に応じた対応方法を解説します。
特にサーバー設定やインフラの監視を継続的に行い、迅速な対応が可能な体制を整えておくことが重要です。
ページの再読み込みとキャッシュクリア
一時的な通信エラーであれば、ページの再読み込みだけで復旧することがあります。
また、古いキャッシュが原因の場合もあるため、ブラウザのキャッシュをクリアすることで正常に表示されるようになるケースもあります。
この操作で改善しない場合、他の対処法を試して原因の特定を進めることが必要です。
ルーターやネットワークの再起動
ネットワーク機器側に問題がある場合、ルーターの再起動やモデムの電源再投入によって通信状態が改善されることがあります。
特に家庭や小規模オフィス環境では効果的な手段です。
ルーターのファームウェアのアップデートや設定の見直しを定期的に行うことで、ネットワークの安定性を高めることができます。
プロキシ・VPN設定の見直し
使用中のプロキシサーバーやVPN経由の通信でタイムアウトが発生することがあります。
設定を一時的に無効にして直接接続することで、エラーが解消されるかを確認することが有効です。
プロキシやVPN設定が必須の場合は、設定を最適化し、タイムアウトが発生しないように定期的に検証を行いましょう。
サーバー設定(Nginx/Apache)の修正
サーバー側のタイムアウト設定を見直し、処理にかかる時間に応じた適切な値に調整することが求められます。
Nginxではproxy_connect_timeout
やproxy_read_timeout
などの値を確認することが推奨されます。
また、サーバーのログを監視し、設定調整後の動作状況を継続的に確認することが重要です。
PHP-FPMやDBのチューニング
PHP-FPMやデータベースが処理に時間を要している場合、プロセス数やメモリ制限の見直しが必要です。
高負荷状態で処理が遅延しないよう、パフォーマンスチューニングを行うことでエラーの発生を防げます。
定期的にパフォーマンス診断ツールを用いてチューニング状況を見直し、環境の変化に応じた対応を行うことも推奨されます。
CDN(CloudFrontなど)の一時無効化
CDNがキャッシュされないリクエストを処理しようとしてバックエンドに負荷をかけることがあります。
CDN設定を一時的に無効化し、直接オリジンサーバーにアクセスして問題の有無を確認する方法もあります。
問題が特定できたら、CDNのキャッシュポリシーを再調整し、バックエンド負荷を抑えるよう設定を行います。
サーバーログによる原因特定
504エラーの原因を明確にするには、サーバーのエラーログやアクセスログの確認が欠かせません。
タイムスタンプやレスポンス時間、該当URLなどから、具体的なボトルネックを特定する手がかりが得られます。
ログ分析を自動化し、異常を早期に検知・通知する仕組みを整えることで迅速な対応が可能となります。
また、過去のログデータと比較することで、パフォーマンスの低下や異常傾向を予測・未然防止することも可能です。
スマホで発生する504 Gateway Time-outの対処法
スマートフォンで504エラーが発生する場合、通信環境やアプリの動作に起因することが多く見られます。
ここではスマートフォン特有の原因に着目し、利用者側で実行可能な対処法を紹介します。
通信環境のチェック項目(Wi-Fi/4G切替・機内モード等)
通信回線が不安定な場合、サーバーとの接続がタイムアウトすることがあります。
Wi-Fi接続が不安定なときは、モバイルデータ通信(4G/5G)へ切り替える、または一度機内モードをオン・オフすることで通信環境が改善する場合があります。
通信速度が極端に遅い場合も504エラーが出やすいため、速度測定アプリで確認するのも有効です。
また、ルーターの再起動や通信制限の有無を確認することも重要です。
特に通信量が上限に達している場合は速度が著しく低下し、504エラーが頻発するため、通信プランの見直しを行うことも推奨されます。
使用中アプリ・ブラウザのキャッシュクリアと再起動
モバイルアプリやブラウザに蓄積されたキャッシュが原因で、誤作動や通信障害が生じる場合があります。
使用しているブラウザまたはアプリのキャッシュを削除し、再起動することでエラーが解消されることがあります。
特に長時間使い続けているアプリや、アップデートを繰り返している環境では有効です。
キャッシュの定期的なクリアは動作を軽快に保つだけでなく、エラーの予防にも繋がります。
アプリによっては自動でキャッシュを削除する設定もあるため、それらを利用するのも良い方法です。
使用環境別の原因と対処法
504エラーは利用しているインフラやシステム構成によって、発生しやすい要因が異なります。
ここではCMSやクラウド環境、CDN利用時における原因と、それぞれの環境に適した対処法を紹介します。
原因を特定しやすくするためには、それぞれの環境でエラー発生時のログを詳細に分析し、トラフィックやリソース状況を定期的にモニタリングする体制を構築することが重要です。
CMS/Webアプリ環境で発生しやすい原因と対処法
WordPressやDrupalなどのCMSでは、プラグインの競合やデータベースへの過負荷が原因でタイムアウトが発生することがあります。
高速化系プラグインやセキュリティ関連の機能が干渉し、処理遅延を招くケースもあります。
無効化や更新、キャッシュのクリアなどを通じて動作検証を行うことが重要です。
また、サーバースペックの不足が原因となる場合もあるため、アクセス数や負荷状況に応じたインフラの増強も検討しましょう。
クラウド環境(AWS/Azure)で発生しやすい原因と対処法
クラウド上では、ロードバランサーのヘルスチェック失敗や、オートスケーリング設定の不備が504エラーの原因になることがあります。
特にAWSのALBやAzureのApplication Gatewayでは、ターゲットの応答時間が短すぎるとエラーになります。
構成の見直しやログ分析による原因特定が求められます。
さらに、スケーリングの閾値を適切に設定し、負荷が急激に増えた場合でも安定稼働できるように調整しておくことが効果的です。
CDN(CloudFront等)で発生しやすい原因と対処法
CDN(コンテンツ配信サービス)を使っているとき、元となるサーバー(オリジンサーバー)とつながるのに時間がかかりすぎると、「504エラー」が出ることがあります。
これは、元サーバーの反応が遅かったり、CDNの設定ミスが原因で起こりやすくなります。
たとえば、CloudFrontのようなサービスを使っている場合は、記録(ログ)を見て、どんなリクエストが行われているかを調べましょう。また、CDNのデータ保存期間(TTL)やバッファサイズの設定を見直すのも効果的です。
さらに、CDNと元のサーバーが遠く離れていると通信が遅くなり、タイムアウトが起こりやすくなります。そのため、サーバーの設置場所や中継地点(エッジロケーション)をどこにするかも大切なポイントです。
まとめ
504 Gateway Time-outは、サーバー間通信の遅延により発生するエラーであり、原因はネットワークからアプリケーション層まで多岐にわたります。
クライアント側・サーバー側・インフラ構成ごとに対処法が異なるため、環境に応じた正確な切り分けが重要です。
サーバーログや設定の見直しを通じて、再発防止のための継続的な監視と改善が求められます。
Webサイトの安定運用にとって、504エラーの理解と適切な対処は欠かせない要素です。
AIサービス導入のご相談は AI導入.com へ(無料相談)
- マッキンゼー出身の代表による専門的なアドバイス
- 日本・アメリカの最先端AIサービスの知見を活用
- ビジネスの競争力を高める実践的な導入支援