サーバー側のエラーで起こる502(Bad Gateway)とは?原因と解決策も一緒に紹介

502エラーとは?

更新日:

要約

  • 502エラー Bad GatewayとはユーザーのリクエストをWebサーバーが処理を返すことができないことを示すHTTPステータスコード。
  • エラーの発生原因がサーバー側にあるため、ユーザー側が検証できる解決方法が限られている。
  • 502エラーを事前に回避するには、利用しているサーバーのスペックとアクセス数とのバランスを見ることが大切。

502エラーとは?

502エラーとはBad Gatewayエラーとも呼ばれ、ユーザーが操作したブラウザからのリクエストをサーバが何らかの原因により、正確な処理を返すことができない状態を示すHTTPステータスコードです。502エラーについてもう少し正確に説明すると「ゲートウェイ、プロキシサーバーが無効なレスポンスを受け取った」ということを意味します。この問題は一般的に、サーバー間の通信障害や設定ミスが原因で発生します。

502エラーは例えば画面上にこのように表示されます。

  • 502 Bad Gateway
  • 空白の白い画面
  • Error 502
  • HTTP Error 502 – Bad Gateway
  • 502 Service Temporarily Overloaded
  • 502 Proxy Error
  • 502 Server Error: The server encountered a temporary error and could not complete your request
  • 502 Bad Gateway NGINX
  • Error 502 (Server Error)!!
  • 502 Temporary Error

以上のエラーが表示された場合は、502エラーなので後述する解決方法を試してみてください。

数字のエラーはそもそも何?500番台のエラーは何を意味する?

HTTPステータスコード

この502などの3桁の数字のことを「HTTPステータスコードと言い、サーバーの処理結果を示す数字のことを指します。この3桁の数字で「情報処理中」、「通信成功」、「クライアントエラー」などを表しているので、コードの数字によってどのようなエラーが起こっているのかを推測することができます。このHTTPステータスコードは大きく5つに分けることができます。

  1. 100番~:情報処理中
  2. 200番~:通信成功
  3. 300番~:リダイレクト
  4. 400番~:クライアントエラー
  5. 500番~:サーバーエラー

502エラーは500番台のエラーなので、サーバー側でエラーが起きていることが推測できます。500番台のな主要なエラーコードは502のほかに、500(Internal Server Error)、503(Service Unavailable)などがあり、サーバー内部のエラーや、アクセス集中による過負荷、サーバーのメンテナンス中である、ということを示しているエラーコードになります。

このエラーはサイト運営者が対処しなければならない問題であることが多く、ユーザー(訪問者)は解決することは困難です。

*別記事の404 Not Foundとは?エラーの意味と解決方法でも詳しく紹介しています。

502エラーが発生する原因

502エラーはリクエストを受けるサーバーに、何らかの原因によってエラーが発生していることを意味します。それらの原因を解決することは、サイト運営者側に委ねられておりユーザー側が解決することは難しいです。そんな502エラーが発生する原因を紹介していきます。

アクセスの集中

多くのユーザーが同時にサイトにアクセスすると、サーバーが過負荷になり502エラーが発生することがあります。例えばSNSでサイトが掲載されている投稿が拡散されたときや、音楽イベントなどのネットチケット販売開始時は多くのユーザーがサイトに集まります。一定のアクセス数を超えると、サイトと繋がっているサーバーがその負荷に耐えられず502エラーになる場合があります。

1台のサーバーでサイトを管理している場合や、低スペックのサーバーを利用している場合、ユーザーアクセスの上限を超えてしまうリスクがあるでしょう。一時的なアクセス集中で502エラーを起こす場合は、アクセスが落ち着くまで待つことがユーザー側の解決策になります。

頻繁にサーバーが過負荷で落ちてしまうのであれば、サイト運営者はサーバーのスペックを上げたり、複数のサーバーでサイト管理することを検討する必要があります。

サーバーメンテナンスや不具合

ユーザーがサーバーの定期メンテナンス中にサイトにアクセスすると、502エラーが発生することがあります。サーバー側の問題であるので、ユーザーが直接解決することは不可能になります。そのためユーザーが出来ることとしては、メンテナンス情報を確認することやサイト運営者に問い合わせをすることに絞られます。

その他には、サーバーそのものが攻撃を受けてシステムが停止している可能性もあります。レンタルサーバーを契約しているサイト運営者は、サーバー運営元に確認を取りましょう。サーバーを自前で用意している方は、サーバーをメンテナンスしてみることをお勧めします。サーバー上での活動を記録したサーバーログを確認してみるのも良いでしょう。サーバーログには、だれがいつ何をサーバー上で行ったのかが記録されているので、不具合が疑われる場合はまずは確認してみると原因が判明する可能性があります。

URLの記述ミス

URLの誤った記述は、リクエストされた情報サーバーがを正しく見つけられない原因になります。ユーザー側は、URLが正確に入力されているかを確認しましょう。またサイト運営者の方は内部リンク外部リンクを設定する際に、記述が間違えているURLを入力してしまうミスがよくあるので、URLはコピペをして正確に転記することをお勧めします。

ドメイン、IPアドレスの変更によりDNSサーバーが移行中

DNSサーバーとは、別名ネームサーバーとも呼ばれIPアドレスとドメイン名を変換する処理を担うサーバーです。IPアドレスは数字の羅列なため、私たち人間が理解しやすくできるようにドメイン名に変換させる必要があります。この変換を行ってくれるのがDNSサーバーです。

サイト運営者がIPアドレスやドメイン変更を直近で行った場合、それらの変更には数時間かかるためDNSサーバーへの反映がまだ完了しておらず、502エラーとなってしまうことがあります。DNSサーバーへ新しいIPアドレスやドメインの変更が完了したかどうかは、以下のコマンドプロンプトを入力すると確認することができます。

確認方法(Windows)

  1. コマンドプロンプトを起動し「nslookup www.ドメイン名」を入力する
  2. Addres欄に新規設定したIPアドレスが表示されているかを確認する

確認方法(Mac)

  1. ターミナルを起動し「nslookup www.ドメイン名」を入力する
  2. ANSWER SECTION欄に新規設定したIPアドレスが表示されているかを確認する

ファイアウォールの設定

ファイアウォールの設定により、502エラーが発生する場合があります。ファイアウォールとは、社内ネットワークへの不正アクセスや、社内ネットワークから許可されていない外部サイトへの通信を守るためのセキュリティシステムです。

ファイアウォールの設定で、外部からのアクセスブロックを幅広く設定している場合は、ユーザーからの必要なアクセスを拒否してしまい、ユーザーの画面には502エラーが出現する場合があります。

反対にユーザー側のファイアウォールの設定で、特定のサイトにアクセスすることを拒否している場合も502エラーとなります。

WordPressなどのCMSのプラグインの影響

WordPressなどのCMSなどで利用できるプラグインのコードにより、502エラーが引き起こされることがあります。

サイト運営者が行える解決方法としては、有効化しているプラグインをすべて一度無効化し、一つ一つまたプラグインを有効化していきましょう。この方法で、どのプラグインがエラーを引き起こしているかを特定することができます。エラーの原因となっているプラグインを特定したら使用を中止するか、他に代用可能なプラグインの使用を検討する、もしくはプラグイン開発者に問い合わせを行いましょう。

502エラーが表示された場合の一般的な解決方法(ユーザー側)

502エラーはサーバー側やサイトの設定などにより引き起こされることが多いため、サイト運営者の対応を待つことが解決策として紹介されます。

しかしユーザー(訪問者)側の何らかの原因により、502エラーが出てしまっている可能性もあるので、エラーの原因を解消すればサイト運営者の対応を待つことなく、アクセスすることが可能です。

ユーザー側でも試せる解決方法を、いくつか紹介いたします。

502エラーがユーザー側の問題か、Webサーバー側にあるのかを調べる

最初に502エラーがブラウザの設定などで自分だけ出されているのか、もしくはアクセスしようとしている全ユーザーに502エラーが出ているのかを調べてみましょう。

自身の問題であれば、普段利用しているWebブラウザを変更してみたり、シークレットモードでアクセスしてみるなどの解決策に繋がるかもしれません。

自分だけなのか、それとも全ての人もアクセスできないのかを把握するには「Down for everyone or Just me」や「Is it down right now」などのWebツールがおすすめです。これらのツールを利用することで、502エラーが発生している原因を切り分けることができます。

ドメイン名やIPアドレスを入力するだけで簡単に調べることができるので、まずは試してみましょう。

シークレットモードでページを開いてみる

上記で紹介したツールで、自分だけエラーが出ていることが分かった場合、シークレットモード(またはプライベートブラウジングモード)でページを開いてみましょう。ブラウザのキャッシュやクッキーの影響で、502エラーが出てしまっている可能性があるからです。

またChromeなどのブラウザには、便利な拡張機能がついていますがエラーの原因となってしまう場合があるため、それらが適用されないシークレットモードでページを開くと解決することがあります。

仮にシークレットモードで該当ページを開くことができた場合は、拡張機能を無効化してみる、またはブラウザのキャッシュを削除してみる、などの方法を実行していきましょう。

時間をおいた後でページの再読み込みをする

上記で紹介したツールで反対に、ユーザー全員がアクセスできないという状態が判明したら、ユーザー側が最も簡単に試せる、ページの再読み込みをしてみましょう。

一時的なアクセスの集中により502エラーとなっていた場合は、少し時間をおいてアクセスを再度試みてみると、簡単にアクセスできる可能性があります。

ネットワークエラーやメンテナンス状況を確認する

サイトが、ネットワークエラーやメンテナンスのために一時的に利用できない場合があります。その場合、ユーザー側の解決策はありません。

サイトのSNSアカウントや、メンテナンス情報を提供するページを適宜確認してネットワークエラーやメンテナンスが終了するまで待つことが、最善の解決策になります。

502エラーが表示された場合の一般的な解決方法(サイト運営者側)

502エラーはサーバー側の問題が原因であることが多いため、サイトの運営者は以下の項目をチェックすることをお勧めします。

  1. サーバーをメンテナンスする
  2. サーバーログを見直す
  3. ファイアウォールの設定を見直す
  4. プラグインを無効化してみる

サーバーは一度稼働したらそのまま運用できるというものではなく、サーバーの部品が劣化しハードウェアそのものが破損し502エラーの原因になることもあります。他にもサイトも長年運用していると、サーバーのディスク領域(サイトのデータやメールを保管しておく場所)が一杯になり、サーバーが重くなると502エラーに繋がります。自前でサーバーを持っている人や、レンタルサーバーを利用している人に関わらず、定期的にメンテンナスを行いましょう。

その他、サーバー移行などによる作業ミスの問題が疑われる場合は、契約しているサーバーログアクセスログの見直しを行いましょう。サーバーが正常に稼働しているかどうかや、ステータスが正常かどうかを確認できます。

ファイアウォールの設定次第で、正常なアクセスであるにもかかわらず不正なアクセスと認識されて、502エラーが発生することがあります。ファイアウォールが適切に設定されているかを確認し、必要に応じて調整しましょう。

それでも解決しない場合は、WordPressなどのCMSを利用している場合はプラグインを無効化してみます。特定のプラグインが502エラーの原因になることがあるため、一度すべてのプラグインを無効化し一つずつ有効化してどのプラグインが原因になっているかを調べていきましょう。

サイト運営者側がとるべき502エラーを回避する方法

502エラーは事前に対策をしておくことで、エラーの発生を予防可能です。以下の方法を試してみましょう。

  1. コンテンツを圧縮、最適化、または削除する
  2. サーバーの規模とアクセス数のバランスを見直す
  3. CDNの導入を検討する
  4. ロードバランサーの導入を検討する

順番に解説していきます。

サーバーの処理を軽くする

502エラーが発生する原因として、アクセスの集中によりサーバーの処理が追い付かなくなってしまうことが挙げられます。そのため、サイトが読み込むファイルやデータなどを最適化し、サーバーの処理を軽くしておくことで502エラーの発生を抑えることができます。

例えば、外部ファイルの最適化をすることが挙げられます。CMSのWordpressなどはテーマやプラグインが充実していますが、多く利用するとその分JavascriptやCSSなどを大量に読み込んでしまいます。使っていないプラグインを削除することや、テーマを他のものに変えてみるなどの最適化を行いましょう。サーバーとの通信容量、通信回数を減らすことができます。画像を圧縮しファイルのサイズを小さくすることも、サーバー処理を軽くする上で有効です。

またサーバーの処理を軽くすることは、Webページの表示速度を上げることにもつながります。Googleは表示速度をユーザビリティを測定する指標として使用しており、SEOの観点において重要なポイントです。これをコアウェブバイタルと呼びます。

しかしサイトの表示速度を上げることに意識を向けすぎると、サーバーサイドの処理を上げてしまい502エラーが発生するリスクも高まめてしまう可能性もあります。表示速度を上げることとサーバーの処理を軽くすること、どちらもバランスを取っていくことが大切です。

*別記事のコアウェブバイタル改善方法でも詳しく紹介しています。

サーバーの規模とアクセス数のバランスを見直す

利用しているサーバーの規模がサイトのアクセス数に見合っていない場合、502エラーが発生するリスクが高まります。

低スペックのサーバーや一つのサーバーを複数のユーザーで利用する共有サーバーを利用しているサイト運営者は、高スペックのサーバーや自分だけが使える専用のサーバーに乗り換えることを検討しましょう。特に訪問者数が急増するイベントやキャンペーン期間中は、サーバーのキャパシティを見直し、必要に応じて増強することが重要です。これにより、サーバーが過負荷になることを防ぐことができます。

CDNの導入を検討する

CDNとはContent Delivery Networkの略で、サイトのコンテンツを早く効率的にユーザーに届けるネットワークの事を指します。

CDNを利用するとユーザーとWebサーバーの中間にキャッシュサーバーが配置され、元のサーバーの代わりにキャッシュサーバーがサイトのコンテンツをキャッシュ(コピー)します。ユーザーが情報をリクエストすると、元のサーバーからではなくキャッシュサーバーがキャッシュした情報をユーザーに提供します。この仕組みから、サーバーが過負荷になることを防ぎ、アクセス時間を高速化させます。

またCDNは世界各地に分散しているため、ユーザーからサーバーの物理的に距離が遠い場合でも迅速にコンテンツを届けることができます。

例えば、CDNにはWebページを高速化させるAMP(Accelerated Mobile Pagesがあります。AMPを利用すると、AMP用のHTMLがGoogle直下の専用サーバーにキャッシュされます。ユーザーからのリクエストを受けると、その専用サーバーからレスポンスを返してくれるので、高速通信が可能になるという仕組みです。

  • 安定的なサイト運用が可能になる
  • 表示速度がアップする
  • トータルのコストを下げられる
  • DosやDDoS攻撃の対策ができる

*別記事のAMP HTMLの導入方法とSEO効果は?気になるデメリットも解説でも詳しく紹介しています。

ロードバランサーの導入を検討する

ロードバランサーとは負荷分散装置とも言い、ロードバランサーを利用すると、一つのサーバーにアクセスが集中しないように複数のサーバーに、振り分けることができます。このような仕組みからアクセス集中によるサーバーダウンを防ぐことができます。

ロードバランサーは複数のアルゴリズムがあり、タイプによってさまざまな方法があります。例えばアクセスを一度すべて集め、複数のサーバーに等しく分散させる「ラウンドロビン」と呼ばれる方法や、他のサーバーと比べて、現在のアクセスが一番少ないサーバーに振り分ける「リーストコネクション」という方法があります。

万が一、1つのサーバーに障害が発生し機能しなくなったとしても、そのサーバーにアクセスを振り分けることを停止させ、他のサーバーに繋げ直すこともできます。導入することで安定的なサーバー管理をすることがで、継続的なサービス提供が可能になります。導入のメリットには、以下のようなものが考えられるでしょう。

  • サイトに大量のアクセスがあっても安定的に運用できる
  • サーバー不具合によるリスク低減させる
  • サーバーメンテナンス中でもサービスを維持することができる

502エラーがSEOに影響が出る?

502エラーはウェブサイトのSEO(検索エンジン最適化)に影響を与える可能性があります。特に、これらのエラーが頻繁に発生するか、長期間にわたって解決されない場合、その影響はより深刻になります。

検索順位が低下する可能性がある

502エラーが継続すると、検索エンジンはサイトを信頼性が低いと判断し、検索結果の順位を下げることがあります。検索エンジンはユーザーに最良の体験を提供することを目指しているため、エラーが頻繁に発生するサイトは、検索結果において不利になる可能性があります。したがって、502エラーを速やかに解決し、サイトの信頼性を維持することが重要です。

離脱率の増加の危険性がある

502エラーが頻繁に発生すると、サイト訪問者がページを離れる可能性が高まり、結果としてサイトの離脱率が増加することがあります。これは、サイトのユーザーエンゲージメントに悪影響を及ぼし、結果的にSEOにも影響を与えることになります。訪問者がスムーズにサイトを利用できるよう、502エラーの発生を最小限に抑えましょう。

まとめ

502エラーの概要から解決の方法までを解説していきました。HTTPステータスコードにより、どんなエラーが起こっているのかを推測することはできますがエラーを引き起こしている要因は様々です。502エラーを放置しておくとSEOにも影響が出るため、一つ一つ対処法を試していきながら解決していきましょう。

502エラーが発生する原因は何ですか?

502エラーが発生する原因にはいくつか考えられます。

  • アクセスの集中
  • サーバーメンテナンスや不具合
  • URLの記述ミス
  • ドメイン、IPアドレスの変更によりDNSサーバーが移行中
  • ファイアウォールの設定
  • WordPressなどのCMSのプラグインの影響

一つ一つ丁寧に確認しておきましょう。

502エラーが表示された場合の一般的な解決方法(サイト運営者側)

502エラーが表示されてしまった場合は、サイト運営者側に問題がある場合が多いです。以下の一般的な解決方法をお試しください。

  • サーバーをメンテナンスする
  • サーバーログを見直す
  • ファイアウォールの設定を見直す
  • プラグインを無効化してみる

502エラーを事前に回避する方法もあるので、ユーザーのアクセスを妨げないように対策をするのも重要です。

502エラーが表示された場合の一般的な解決方法(ユーザー側)

ユーザー側でも試すことができる解決方法も存在します。一度試してみても良いでしょう。

  • 502エラーがユーザー側の問題か、Webサーバー側にあるのかを調べる
  • シークレットモードでページを開いてみる
  • 時間をおいた後でページの再読み込みをする
  • ネットワークエラーやメンテナンス状況を確認する

記事が気に入ったらシェアをお願いします!

記事は参考になりましたか?

ご意見・ご感想はこちら

はいいいえ