blancブログ

Information&Blog

友だち追加

サーバー通信エラー「502 Bad Gateway」: 原因とユーザーへの対応策

更新日:

サーバー通信エラー「502 Bad Gateway」: 原因とユーザーへの対応策のアイキャッチ画像

ホームページを開こうとしたときに「502 Bad Gateway」と表示され、ページの中身が出てこないことがあります。画面の文言は「502 Bad Gateway」「HTTP ERROR 502」「502 Proxy Error」「502 不正なゲートウェイ」など、サイトやブラウザによって少しずつ違いますが、意味は同じです。

502は、サーバー側の問題を示すエラーです。見ている側のパソコンやスマホが壊れているわけではなく、多くの場合、復旧にはサイトを運営している側か、そのサイトが使っているサーバー会社の対応が必要です。ただし、自分の環境でだけ出る場合は、VPNなど手元の通信の設定で直ることもあります。

この記事では、502 Bad Gatewayの意味と500・503・504との違い、閲覧者として出会った場合の対応、運営者がまず確かめる順番、よくある原因ごとの確かめ方と直し方、放置したときの検索への影響、依頼する場合の料金までを順にご説明します。

「502 Bad Gateway」エラーとは?

多くのホームページは、1台のサーバーだけで動いているわけではありません。閲覧者からの「このページをください」という依頼を、まず受付役のサーバーが受け取り、奥にあるサーバー(ページを作るプログラムや、元のファイルがあるサーバー)へ取り次いでいます。この受付役を「ゲートウェイ」や「プロキシ」と呼びます。

502 Bad Gatewayは、この受付役のサーバーが、奥のサーバーから正しい応答を受け取れなかったことを示す番号です。HTTPの仕様(RFC 9110)では、次のように定められています。

The 502 (Bad Gateway) status code indicates that the server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.

(意訳)502は、ゲートウェイまたはプロキシとして動いているサーバーが、依頼に応えるために問い合わせた奥のサーバーから、正しくない応答を受け取ったことを示します。

たとえば、WordPressのサイトでは、受付役のウェブサーバー(NginxやApache)が、PHPのプログラムを動かす仕組みにページ作りを頼んでいます。PHP側が止まっていたり、途中で処理を打ち切られたりすると、受付役は返す中身を受け取れず、502を返します。CDN(Cloudflareなど)を使っているサイトでは、CDNが受付役になり、その奥にある自社のサーバーとの通信に問題が起きると、状況に応じて502や504などのエラーが出ます。

502 Bad Gatewayが出るしくみの図。閲覧者のブラウザがページを頼むと、受付役のサーバー(NginxなどのウェブサーバーやCloudflareなどのCDN)が受け取り、奥のサーバー(PHPのプログラムや元のサーバー)へ取り次ぐ。奥のサーバーから正常な応答を得られないと、受付役が502を返す。
502 Bad Gatewayが出るしくみ

つまり502は、受付役が奥のサーバーから正常な応答を得られなかったというサインです。奥のサーバーが止まっている場合もあれば、両者の間のつながりや受付役の設定に原因がある場合もあり、どこで起きているかまでは画面に出ないため、原因はサーバーのエラーログや、直前に行った作業から絞り込みます。

※お急ぎの場合は、ホームページ修正の代行(最短当日・相談無料)もご利用いただけます。

閲覧者としてこの画面に出会った場合

ほかの会社のサイトや、会計・申請などのオンラインサービスを使っていて502が出た場合は、次の順に試してみてください。

  1. ページを再読み込みする(一時的な混み合いや再起動の途中なら、数秒〜数分で表示されることがあります)
  2. 数分〜しばらく時間を置いてから、もう一度開く
  3. 同じサイトのトップページなど、ほかのページも同じエラーになるかを見る
  4. そのサービスの公式サイトやSNSに、障害やメンテナンスのお知らせが出ていないかを見る
  5. それでも気になる場合は、スマホのWi-Fiを切ってモバイル回線で開くなど、別の回線や端末で開いてみる
閲覧者として502に出会ったらの図。1 ページを再読み込みする、2 時間を置いてもう一度開く、3 ほかのページやサービスの障害情報を見る、4 別の回線や端末で開き、VPNを使っていれば切って試す。送信ボタンを押したあとに出た場合は、もう一度送る前に履歴や確認メールで受付を確かめる。
閲覧者として502に出会ったら

ほかの人や別の回線では表示されるのに、自分の環境でだけ502になる場合は、VPNやプロキシ、会社のネットワークのセキュリティ設定など、手元の通信の経路が関わっていることがあります。VPNを使っていれば切ってから開き直してみてください。

ほかの回線や端末でも同じなら、サイト側に原因がある可能性が高くなります。見ている側の設定で直すことはできないため、急ぎの用件であれば電話やメールなど別の方法で連絡を取ってください。申し込みや支払いなどの送信ボタンを押したあとに502が出た場合は、送信だけは済んでいることがあります。もう一度送る前に、履歴や確認メールで受け付けられているかを確かめ、分からなければそのサービスの窓口に問い合わせてください。

なお、502の画面が出ること自体は、お使いのパソコンやスマホがウイルスに感染していることを示すものではありません。ご自身が運営しているサイトで出ている場合は、次の節から読み進めてください。

502と500・503・504エラーの違い

500番台のエラーはどれも「サーバー側の問題」ですが、番号ごとに、どこで何が起きたかが違います。

番号

主な表示

意味

500

Internal Server Error

サーバーの中で処理が失敗した。設定ファイルやプログラムの誤りが多い

502

Bad Gateway

受付役のサーバーが、奥のサーバーから正しい応答を受け取れなかった

503

Service Unavailable

アクセスの集中やメンテナンスで、一時的に受け付けられない

504

Gateway Timeout

受付役のサーバーが、奥のサーバーからの応答を待ちきれなかった

502と504はよく似ていますが、502は「返ってきた応答がおかしかった(または接続を切られた)」、504は「待っている間に時間切れになった」という違いがあります。どちらも奥のサーバーに原因があることが多く、確かめる場所はほぼ同じです。500エラーの原因と対応は「500エラーが発生したときの基本的な対応方法」で詳しくご説明しています。

運営者がまず確かめる順番

502は原因の候補が受付役と奥のサーバーの両方にまたがるため、当てずっぽうに設定を触るより、次の順に確かめるほうが早く片付きます。作業の前に、触るファイルを手元に控え、WordPressならデータベースもバックアップしておきます。

  1. ほかの人にも出ているか:別の回線や端末でも502になるか。自分だけなら、手元の回線やブラウザの問題のこともあります
  2. 直前に何をしたか:プラグインやテーマの更新、PHPのバージョン変更、サーバーの引っ越し、CDNやセキュリティ設定の変更など。直前の作業がある場合は、それが一番の候補です
  3. どのページで出るか:全ページか、特定のページ(管理画面、検索、フォーム送信、画像の一括処理など重い処理)だけか。重い処理のときだけなら、処理が途中で打ち切られている可能性が高くなります
  4. サーバー会社・CDNの障害情報を見る:何も触っていないのに急に出た場合は、サーバー会社やCDN側の障害やメンテナンスのこともあります
  5. エラーログを見る:レンタルサーバーの管理画面の「エラーログ」や、Nginxのエラーログに、502が出た時刻の記録が残っていることが多いです
  6. アクセスとリソースの状況を見る:サーバーの管理画面で、CPUやメモリの使用状況、アクセス数が急に増えていないかを確かめます
自分のサイトで502が出たとき、確かめる順番の図。1 ほかの人にも出ているか、2 直前に何をしたか、3 どのページで出るか、4 サーバー会社とCDNの障害情報、5 エラーログ、6 CPU・メモリとアクセスの状況。作業の前にファイルとデータベースを控えておく。
自分のサイトで502が出たとき、確かめる順番

エラーの主な原因

よくある原因として、PHPなどのプログラムの停止、アクセスの集中やサーバーの能力不足、CDNやセキュリティ設定とのつながり、サーバー会社側の障害の4つを順に見ていきます。原因ごとに、確かめ方と直し方をまとめます。

PHPのプログラムが止まっている・途中で打ち切られる

WordPressなどPHPで動くサイトでは、まず確かめたい原因の一つです。PHPのプログラムを動かす仕組み(PHP-FPMなど)が止まっていたり、1つの処理がメモリや時間の上限を超えて打ち切られたりすると、受付役のウェブサーバーは中身を受け取れずに502を返します。プラグインの更新直後や、PHPのバージョンを上げた直後に起きやすくなります。

黒い木の扉に付いた真鍮の郵便受けに、クリーム色の封筒が半分差し込まれたまま止まっている写真。
受付役が受け取っても、奥で受け取る側が応えなければ、ページは閲覧者まで届きません

確かめ方と直し方

  • 直前に入れた・更新したプラグインがあれば、管理画面で無効化して表示が戻るかを見ます。管理画面に入れない場合は、FTPソフトで wp-content/plugins の中にある該当プラグインのフォルダ名を変えると、そのプラグインが止まります。表示が戻ったら、その名前のまま管理画面のプラグイン一覧を開き、そのプラグインが無効になったことを確かめてからフォルダ名を戻します。戻したあとも無効のままであることを確かめ、修正版が出ていないかなど、原因の調査を進めます
  • PHPのバージョンを上げた直後であれば、サーバーの管理画面で元のバージョンに戻せるかを確かめます。戻して表示されれば、テーマやプラグインを新しいPHPに合わせて更新するのが本来の直し方です
  • エラーログに「Allowed memory size … exhausted」のようなメモリ不足の記録があれば、PHPのメモリ上限(memory_limit)を引き上げられるかを、サーバーの管理画面で確かめます
  • 専用のサーバーやVPSでNginxを使っている場合は、Nginxのエラーログに「connect() failed (111: Connection refused) while connecting to upstream」や「upstream prematurely closed connection」のような記録がないかを見ます。前者はPHP-FPMなど奥の仕組みにつながらなかった、後者は奥の仕組みが途中で接続を切ったことを示します。PHP-FPMが動いているか、PHP-FPM側のログに処理の打ち切りが記録されていないかを確かめます

PHPのバージョンアップの進め方は「「PHPのバージョンを上げてください」と連絡が来た」で、WordPressで「このサイトで重大なエラーが発生しました」と表示される場合は「「このサイトで重大なエラーが発生しました」と表示されたら」でご説明しています。

アクセスの集中・サーバーの能力不足

セールや取材記事の公開、広告の配信開始などでアクセスが急に増えると、奥のサーバーが処理しきれず、502や503が出ることがあります。アクセスが多くなくても、重いプラグインや大量の画像処理、外部からの機械的なアクセス(ボット)が同時に走ると、同じことが起こります。

確かめ方と直し方

  • サーバーの管理画面で、エラーが出た時間帯のCPU・メモリの使用状況とアクセス数を確かめます。レンタルサーバーでは、使いすぎると一時的に処理を制限する仕組みがあり、その記録が管理画面に出ることがあります
  • 特定の時間帯だけ出る場合は、その時間に動いている処理(バックアップ、予約投稿、外部サービスとの連携など)がないかを見ます
  • ページのキャッシュ(作ったページを一時的に保存しておき、毎回作り直さないようにする仕組み)を使うと、奥のサーバーの負担が減ります。ただし、ログイン中のページや申し込み・決済など、利用者ごとに内容が変わるページは対象から外します。設定後は通常のページの表示に加え、更新が反映されるか、フォームの送信や購入の手続きが進むかも確かめます
  • 恒常的に足りない場合は、サーバー会社でプランを上げるか、より余裕のあるサーバーへ移すことを検討します

キャッシュで起きやすい困りごとは「サーバーキャッシュが招くトラブルを防ぐための注意点」で、サーバーの引っ越しは「ホームページのサーバーを引っ越したい」でご説明しています。

CDN・セキュリティ設定とサーバーの間のつながり

CloudflareなどのCDNや、サーバーの前に置くセキュリティの仕組み(WAF)を使っているサイトでは、それらが受付役になります。この場合、CDNと奥の自社サーバーの間で正常な応答を得られないと、CDNの画面に502などのエラーが表示されます(つながらない状態の種類によっては、520番台など別の番号になることもあります)。サーバーの引っ越しで奥のサーバーの住所(IPアドレス)が変わったのに、CDN側の設定が古いままになっている場合や、サーバー側のセキュリティ設定がCDNからのアクセスを止めてしまっている場合によく起こります。

濃紺に塗られた板張りの床に、木のリレー用バトンが1本だけ落ちている写真。
受け渡しのどこか1か所でつまずくと、ページは届きません。どこで止まったかを順に確かめます

確かめ方と直し方

  • Cloudflareの502画面には、閲覧者(Browser)・Cloudflare・サーバー(Host)のどこで止まっているかが図で表示されることがあります。「Host」の側が「Error」になっていれば、奥の自社サーバーを確かめます
  • サーバーを引っ越した直後なら、CDN側に登録している奥のサーバーのIPアドレスが、新しいサーバーのものになっているかを確かめます
  • サーバー側のファイアウォールやアクセス制限、国外からのアクセスを止める設定などが、CDNからのアクセスまで止めていないかを確かめます
  • CDN側の障害のこともあるため、CDNの公式の障害情報もあわせて見ます
  • 引っ越し後のIPアドレスが古いままだった場合は、新しいサーバーのIPアドレスをサーバー会社の管理画面で確かめ、CDN側の設定を書き換えます
  • サーバー側でCDNからのアクセスが止められていた場合は、止めた記録(ファイアウォールやセキュリティ機能のログ)を確かめ、CDNからのアクセスだけを許可します。どの設定か分からないときに、セキュリティ機能をまとめて切るのは避け、サーバー会社や設定をした人に相談してください

CDNの仕組みは「CDNとは?」でご説明しています。

サーバー会社側の障害やメンテナンス

何も触っていないのに急に502が出て、しばらくすると直る場合は、サーバー会社側の障害やメンテナンスのことがあります。レンタルサーバーでは、受付役も奥のサーバーもサーバー会社が管理しているため、こちらで直せる部分はほとんどありません。

確かめ方と直し方

  • サーバー会社の公式サイトにある障害・メンテナンス情報を見ます
  • 障害情報が出ていないのに長く続く場合は、エラーが出た時刻と、出ているページのURLを控えて、サーバー会社のサポートへ問い合わせます
  • 障害の場合は、こちらの設定は変えずに、サーバー会社の復旧の案内を待ちます。慌ててファイルや設定を書き換えると、復旧後に別の原因を作ってしまうことがあります

502エラーを放置するとどうなるか(検索への影響)

502が出ている間は、お客様がページを見られず、お問い合わせや注文の機会をそのまま失います。

検索への影響もあります。Googleは、502を500・503と同じ「サーバーエラー」として扱い、次のように説明しています。

5xx および 429 のサーバーエラーは、Google のクローラに対して一時的にクロールのペースを落とすように促します。Google 検索の場合、すでにインデックスに登録されている URL はインデックスに保持されますが、最終的には削除されます。

出典:HTTP ステータスコード、ネットワーク エラー、DNS エラーが Google 検索に与える影響(Google 検索セントラル)

エラーが出ている間にGoogleが受け取ったページの中身は使われず、巡回の頻度はエラーを返すURLの数に応じて下がります。何日続くと検索結果から外れるかという目安は公式には示されていませんが、繰り返しエラーを返すURLは外されていくため、長く続く状態は避けてください。直って正常に表示されるようになれば、Googleは巡回の頻度を少しずつ元に戻します。

直したあとは、Google Search Consoleの「URL検査」でページを調べ、「公開URLをテスト」を押して、いまのページをGoogleが正常に読み取れるかを確かめます。サイト全体で長く出ていた場合は、Search Consoleの「クロールの統計情報」で、サーバーエラーの件数が減っているかも見ておきます。

再発を防ぐために

  • ページが表示されなくなったときにメールで知らせてくれる無料の監視サービスを使うと、起きたことに早く気づけるようになります
  • プラグインやテーマ、PHPのバージョンを上げる前に、ファイルとデータベースのバックアップを取り、戻し方を確かめておきます。更新後は、表示とお問い合わせフォームなどの動きを確かめます(バックアップの取り方は「ホームページのバックアップは取れていますか」で)
  • アクセスが増える予定(セール・広告・取材)がわかっている場合は、事前にサーバー会社のプランや、キャッシュの設定を見直しておきます
  • CDNやセキュリティの設定を入れた場合は、誰がどの設定をしたかを控えておきます。サーバーの引っ越しのときに、CDN側の設定の書き換えを忘れずに済みます

502エラーの復旧を依頼する場合の料金

ご自身で確かめても直らない場合や、サーバーのファイルや設定を触るのが不安な場合は、ご依頼いただけます。料金は料金表のとおりです。

作業

料金

備考

WordPress復旧(重大なエラー・画面崩れ・更新失敗)

33,000~110,000円(税込)

※原因調査・切り分け込み。被害状況により増減します。

サーバー移転代行(データベース含む)

55,000~165,000円(税込)

※サーバー維持費用は含まれません。ページ数・メールアカウント数により増減します。

WordPress保守プラン(スタンダード)

月額11,000円(税込)

WordPress本体・プラグインの定期バージョンアップ、月次サイトバックアップ取得、更新失敗時の復旧対応など(※最低契約期間3ヶ月)

WordPressの更新失敗にともなう復旧は「WordPress復旧」の項目が目安です。サーバーの能力が足りず、より余裕のあるサーバーへ移すことになった場合は「サーバー移転代行」の項目になります。どちらも状況を伺い、作業の内容と料金をお見積りします。WordPress復旧の料金には、原因調査・切り分けが含まれます。

WordPress以外のサイトや、CDN・セキュリティ設定など別の原因による502は、作業の内容が変わるため、状況を伺ってお見積りします。なお、VPS・専用サーバーのOSの運用(セキュリティ更新・死活監視など)は承っていません。ご依頼前のご相談とお見積りは無料です。

ページそのものが表示されない状態全般(真っ白になる・別のエラー画面が出る)の切り分けは「ホームページが表示されない」でご説明しています。

よくある質問

502エラーはどれくらいで直りますか

アクセスの一時的な集中や、サーバーの再起動の途中であれば、数秒〜数分で直ることが多いです。サーバー会社の障害の場合は、復旧まで待つしかありません。数時間以上続く場合や、同じ操作をするたびに出る場合は、運営者が障害情報やエラーログを確かめ、原因を絞り込む必要があります。

スマホでだけ502が出ます

パソコンとスマホで同じページを開いて、スマホでだけ502が出る場合は、その時たまたま混み合っていたか、回線の途中にある仕組み(会社や学校のネットワーク、スマホのセキュリティアプリなど)が関わっていることがあります。Wi-Fiとモバイル回線を切り替えて開き直し、それでもスマホでだけ出る場合は、運営者にURLと時刻を伝えると原因を絞り込みやすくなります。

「502 不正なゲートウェイ」と表示されました。502 Bad Gatewayと違いますか

同じエラーです。「Bad Gateway」をブラウザやサーバーが日本語に訳して表示しているだけで、意味も原因も変わりません。

自分のサイトで502が出たら、すぐにサーバーを再起動すればよいですか

レンタルサーバーでは、利用者がサーバー全体を再起動することはできません。サーバー会社の障害情報を見て、直前の作業を振り返り、エラーログを確かめる順番で進めてください。VPSなど自分で管理しているサーバーでは、PHP-FPMやウェブサーバーを再起動すると一時的に直ることがありますが、原因が残っていれば再び出ます。再起動の前に、エラーログを控えておくと原因を追えます。

まとめ

「502 Bad Gateway」エラーは、受付役のサーバーが、奥のサーバーから正しい応答を受け取れなかったことを示すものです。閲覧者は、時間を置いて開き直すほか、別の回線で開く、障害情報を見る、といった確かめ方ができます。送信の直後に出た場合は、もう一度送る前に受付の履歴を確かめてください。多くの場合、直すのはサイトの運営者やサーバー会社です。

運営者は、「直前に何をしたか」「どのページで出るか」「サーバー会社やCDNの障害情報」「エラーログ」の順に確かめると、多くの場合は早く絞り込めます。PHPのプログラムの停止、アクセスの集中や能力不足、CDNやセキュリティ設定とのつながり、サーバー会社の障害が、よくある原因です。作業の前にファイルとデータベースを控え、1つずつ確かめてください。

ホームページの修正・更新でお困りではありませんか?

お電話でのお問い合わせはこちらまで

フリーダイヤル0120-781-437

受付時間 平日 9:00~18:00(時間外も応相談)

他社で制作したサイトもOK。軽微な修正は最短当日対応します

ホームページ修正・更新の詳細を見る(相談無料)

検索ボックスへキーワードを入力してください

ホームページ制作、更新、SEOに関する
お問い合わせ・お見積もり依頼は、
電話もしくはフォームでも受け付けております。

フリーダイヤル0120-781-437

受付時間 平日 9:00~18:00

まずは無料相談する