WordPressサイトで502BadGatewayエラーを修正する方法

公開: 2017-09-01

WordPressに関しては、実に苛立たしく混乱する可能性のあるさまざまなエラーがたくさんあります。 頭に浮かぶいくつかは、死の白い画面またはデータベース接続を確立する恐ろしいエラーです。 しかし、さらに一般的なのは、502の不正なゲートウェイエラーです。 なんで? これは、WordPressサイトだけでなく、Gmail、Twitter、Cloudflareなどの人気のあるサービスでもWeb全体で定期的に発生するためです。 しかしもちろん、私たちはそれがあなたのWordPressサイトにどのように影響するかだけを気にします。 このエラーの原因と、エラーをすばやく解決する方法に関するいくつかの解決策について、以下をお読みください。

  • 502 Bad Gatewayエラーとは何ですか?
  • 502BadGatewayエラーを修正する方法

502 Bad Gatewayエラーとは何ですか?

502 Bad Gatewayエラーは、サーバーがインバウンドサーバーから無効な応答を受信したことを具体的に意味します。

インターネット技術特別調査委員会(IETF)は、502BadGatewayエラーを次のように定義しています。

502(Bad Gateway)ステータスコードは、サーバーがゲートウェイまたはプロキシとして機能しているときに、要求を実行しようとしたときにアクセスしたインバウンドサーバーから無効な応答を受信したことを示します。

Webサイトにアクセスするたびに、ブラウザはWebサーバーにリクエストを送信します。 Webサーバーは要求を受信して​​処理し、要求されたリソースをHTTPヘッダーとHTTPステータスコードとともに送り返します。 通常、HTTPステータスコードは、問題が発生しない限り表示されません。 これは基本的に、何かがうまくいかなかったことを通知するサーバーの方法であり、それを診断する方法のコードも含まれています。

500ステータスエラーコードにはさまざまな種類があり(500、501、502、503、504、508、520など)、すべてわずかに異なる意味を持っています。 これらは、要求が受け入れられたが、サーバーが要求の実行を阻止したことを示します。

Chromeの502不良ゲートウェイエラー
Chromeの502不良ゲートウェイエラー

502エラーのビデオガイドをご覧ください

502不正なゲートウェイエラーのバリエーション

さまざまなブラウザ、Webサーバー、およびオペレーティングシステムが原因で、502の不正なゲートウェイエラーがさまざまな形で現れる可能性があります。 しかし、それらはすべて同じ意味を持っています。 以下は、Web上で表示される可能性のあるさまざまなバリエーションのほんの一部です。

  • "502不正なゲートウェイ"
  • 「エラー502」
  • 「HTTPエラー502–不正なゲートウェイ」
  • 「502サービスが一時的にオーバーロードされました」
  • 「502プロキシエラー」
  • 空白の白い画面
  • 「502サーバーエラー:サーバーで一時的なエラーが発生し、リクエストを完了できませんでした」
  • 「HTTP502」
  • 一時的なエラー(502)
  • 502.それはエラーです
  • 502悪いゲートウェイCloudflare
  • 不正なゲートウェイ:プロキシサーバーがアップストリームサーバーから無効な応答を受信しました

表示される可能性のあるもう1つのバリエーションは、「502サーバーエラー」です。

Chromeの502サーバーエラー
Chromeの502サーバーエラー

そして、ここにさらに別のバリエーションがあります。 「502–ゲートウェイまたはプロキシサーバーとして機能しているときに、Webサーバーが無効な応答を受信しました。 探しているページに問題があり、表示できません。 Webサーバーが(ゲートウェイまたはプロキシとして機能しているときに)アップストリームコンテンツサーバーに接続すると、コンテンツサーバーから無効な応答を受信しました。」

502-Webサーバーが無効な応答を受信しました
502-Webサーバーが無効な応答を受信しました

Twitterなどの他のサービスでは、「Twitterが容量を超えています」など、502BadGatewayエラーに対してまったく異なるメッセージが表示される場合もあります。 これは間違いなくもう少しユーザーフレンドリーに見えます。

Twitterは容量を超えています
Twitterが容量を超えています(Img src:Softpedia)

そして、これがグーグルがそれをどのように表示するかのスナップショットです。 「502。 それはエラーです。 サーバーで一時的なエラーが発生し、リクエストを完了できませんでした。 30秒後にもう一度やり直してください。 私たちが知っているのはそれだけです。」

Google502エラー
Google502エラー

502エラーがSEOに与える影響

WordPressのメンテナンスモードで使用され、後でもう一度確認するようにGoogleに指示する503エラーとは異なり、502エラーは、すぐに修正しないとSEOに悪影響を与える可能性があります。 サイトがたとえば10分間だけダウンしていて、それが一貫してクロールされている場合、クローラーは単にページをキャッシュから配信します。 または、Googleは、バックアップする前に再クロールする機会さえないかもしれません。 このシナリオでは、あなたは完全に元気です。

ただし、サイトが長期間、たとえば6時間以上ダウンしている場合、Googleは502エラーを対処する必要のあるサイトレベルの問題と見なす可能性があります。 これはランキングに影響を与える可能性があります。 繰り返しの502エラーが心配な場合は、そもそもなぜエラーが発生しているのかを理解する必要があります。 以下の解決策のいくつかが役立ちます。

502BadGatewayエラーを修正する方法

通常、502の不正なゲートウェイエラーはネットワーク/サーバーの問題ですが、クライアント側の問題である可能性もあります。 それで、両方の少しに飛び込みます。 これらの一般的な原因と、502の不正なゲートウェイエラーを修正して復旧して実行する方法を確認してください。

Webサイトのエラーを管理するだけでなく、エラーが発生するリスクを減らします。 Kinstaを無料でお試しください。

1.ページをリロードしてみてください

502の不正なゲートウェイエラーが発生したときに最初に試すべき最も簡単なことの1つは、1分ほど待ってから、ページをリロードすることです(F5またはCtrl + F5)。 ホストまたはサーバーが単に過負荷になっていて、サイトがすぐに戻ってくる可能性があります。 待っている間に、別のブラウザをすばやく試して、問題として除外することもできます。

あなたができるもう一つのことは、ウェブサイトをdownforeveryoneorjustme.comに貼り付けることです。 このウェブサイトは、サイトがダウンしているかどうか、またはそれがあなたの側の問題であるかどうかを教えてくれます。

downforeveryoneorjustme
downforeveryoneorjustme

2.ブラウザのキャッシュをクリアします

このような問題が発生した場合は、ブラウザのキャッシュをクリアすることをお勧めします。 以下は、さまざまなブラウザでそれを行う方法の説明です。

  • すべてのブラウザの単一ページを強制的に更新する方法
  • GoogleChromeのブラウザキャッシュをクリアする方法
  • MozillaFirefoxのブラウザキャッシュをクリアする方法
  • Safariのブラウザキャッシュをクリアする方法
  • InternetExplorerのブラウザキャッシュをクリアする方法
  • MicrosoftEdgeのブラウザキャッシュをクリアする方法
  • Operaのブラウザキャッシュをクリアする方法

3.DNSの問題

502ゲートウェイエラーは、ドメインが正しいIPに解決されていない、DNSサーバーが応答していないなどのDNSの問題が原因である可能性もあります。 WordPressサイトを新しいホストに移行したばかりの場合は、物事が完全に伝播するのを待つことが重要です。場合によっては、最大24時間かかることがあります。 これは、DNSレコードのTTL値によって異なります。

ローカルDNSキャッシュのフラッシュを試すこともできます。 これは、ブラウザのキャッシュをクリアするのと似ています。

Windowsでは、コマンドプロンプトを開き、次のように入力します。

 ipconfig / flushdns 
コマンドプロンプト-DNSのフラッシュ
コマンドプロンプト–DNSのフラッシュ

正常に機能した場合は、「DNSリゾルバーキャッシュが正常にフラッシュされました」と表示されます。

macOSユーザーの場合、ターミナルに次のように入力できます。

 dscacheutil -flushcache

注:Macには成功メッセージはありません。

そして最後に、DNSサーバーを一時的に変更することができます。 デフォルトでは、DNSサーバーはISPによって自動的に割り当てられます。 ただし、これらを一時的にGoogleなどのパブリックDNSサーバーに変更してみることができます。 実際、GoogleのパブリックDNSを長期間使用することを好む人もいます。 プレミアムDNSを使用している場合、通常、DNS伝播ははるかに高速です。

4.ホストに確認します

通常、502の不正なゲートウェイエラーが発生する主な理由は、ウェブホストの問題が原因です。 クエリ、スクリプト、またはリクエストに時間がかかりすぎて、サーバーによってキャンセルまたは強制終了される場合があります。 多くのホスト、特に共有ホストは、「キルスクリプト」と呼ばれるものを実装しています。 基本的に、これは、サイトをダウンさせたり、他のユーザーに影響を与えたりしないように、一定期間後にリクエストを終了します。 Twitterで「悪いゲートウェイ」を検索すると、ホスティング会社に問題を警告する何千ものツイートが毎日発生していることがわかります。

502悪いゲートウェイツイート
502悪いゲートウェイツイート

Kinstaのようなホストへの移行を検討する理由の1つは、サイトの実行に必要なすべてのソフトウェアリソース(Linux、NGINX、PHP、MySQL)を含む分離されたソフトウェアコンテナーでプラットフォームが実行されることです。 これは、各サイトを実行するソフトウェアが100%プライベートであり、自分のサイト間でも共有されないことを意味します。 これにより、502の不正なゲートウェイエラーが発生する可能性が大幅に減少します。 一部の共有ホストのように、積極的なキルスクリプトを実行していません。 また、サイトの1つがダウンしたとしても、他のサイトに影響を与えることはありません。

ホストで502ゲートウェイエラーが発生する可能性があるもう1つの理由は、サーバーがダウンしているか接続がないために、サーバーに到達できないという事実によるものです。 この場合、WordPressホストのステータスページを確認するか、サポートチケットを開くことをお勧めします。

5.CDNまたはファイアウォールを一時的に無効にします

また、コンテンツ配信ネットワーク(CDN)またはファイアウォールの問題である可能性もあります。 サードパーティのCDNプロバイダーを使用している場合、これをトラブルシューティングする簡単な方法は、CDNを一時的に無効にすることです。 たとえば、私たちは無料のCDNイネーブラープラグインの大ファンです。 それを使用している場合は、プラグインを非アクティブ化してからサイトをテストするだけです。 Wp-adminが機能していませんか? SFTP経由でサイトにログインし、プラグインのフォルダーの名前をcdn-enabler_oldに変更するだけです。 これにより、CDN接続が一時的に無効になります。 同じことが、WPRocketやCDNに接続した可能性のある他のプラグインにも当てはまります。

プラグインフォルダの名前を一時的に変更します
プラグインフォルダの名前を一時的に変更します

これは、DDoS保護と緩和を提供するプロバイダー、またはCloudflareのような完全なプロキシサービスを提供するプロバイダーでも発生する可能性があります。これは、間に追加のファイアウォールがあるためです。 Cloudflareの無料プランでこれが時々発生することに気づきました。 残念ながら、Cloudflareは完全なプロキシサービスであるため、単に無効にする簡単な方法はありません。

ただし、Cloudflareのせいにする前に、以下に示すように、Cloudflareには2つの異なるタイプの502の不良ゲートウェイエラーのバリエーションがあることを知っておくことが重要です。

Cloudflareの502BadGateway(バリエーション1)

次の画面が表示された場合、これは実際にはCloudflare側の問題です。その場合は、サポートについて連絡する必要があります。 Cloudflareのステータスページをチェックして、現在停止が発生していないかどうかを確認することもできます。

502不正なゲートウェイエラー
502不正なゲートウェイエラー

Cloudflareの502BadGateway(バリエーション2)

次の画面が表示された場合、これはホストの問題です。

Cloudflare502のホストでの悪いゲートウェイ
Cloudflare502のホストでの悪いゲートウェイ

GoDaddyファイアウォール

HTTP502エラーとGoDaddyのファイアウォールの別の例を次に示します。 問題は、ファイアウォール自体ではなく、タイムアウトが原因で実際​​にはオリジンサーバー(ホスティングプロバイダー)にあります。

HTTP502-GoDaddyファイアウォール
HTTP 502 –GoDaddyファイアウォール

6.プラグインとテーマを確認します

多くの場合、サーバーによってスクリプトとクエリがキャンセルされる理由は、おそらくサードパーティのプラグインまたはテーマからの、WordPressサイトの不正なコードが原因です。 また、多くの誤って構成されたキャッシングプラグインが502エラーを生成するのを見てきました。 これをトラブルシューティングできるいくつかの方法は、すべてのプラグインを非アクティブ化することです。 プラグインを非アクティブ化するだけでデータが失われることはありません。

Webサイトのエラーを管理するだけでなく、エラーが発生するリスクを減らします。 Kinstaを無料でお試しください。

それでも管理者にアクセスできる場合、これを行う簡単な方法は、「プラグイン」を参照し、一括アクションメニューから「非アクティブ化」を選択することです。 これにより、すべてのプラグインが無効になります。 これで問題が解決した場合は、原因を見つける必要があります。 それらを1つずつアクティブ化し、アクティブ化するたびにサイトをリロードします。 502ゲートウェイエラーが返されるのを見ると、プラグインの動作に問題があることがわかります。 その後、プラグイン開発者に連絡してヘルプを求めたり、WordPressリポジトリにサポートチケットを投稿したりできます。

すべてのプラグインを非アクティブ化する
すべてのプラグインを非アクティブ化する

管理者にアクセスできない場合は、サーバーにFTPで接続し、pluginsフォルダーの名前をplugins_oldなどに変更できます。 その後、サイトをもう一度確認してください。 それが機能する場合は、各プラグインを1つずつテストする必要があります。 プラグインフォルダの名前を「plugins」に戻し、if内の各プラグインフォルダの名前を、見つかるまで1つずつ変更します。

プラグインフォルダの名前を変更します
プラグインフォルダの名前を変更します

プラグイン、テーマ、WordPressコアが最新であることを常に確認してください。 また、サポートされているバージョンのPHPを実行していることを確認してください。 いつでもホストに連絡して支援を求めることができます。 ここKinstaではKinstaAPMおよびその他のトラブルシューティング方法を使用して、クライアントがエラーの原因となっている可能性のあるプラグイン、クエリ、またはスクリプトを絞り込むのを支援します。 独自のライセンスをお持ちの場合は、独自のカスタムNewRelicキーを使用することもできます。

データベースへの時間のかかるクエリ
データベースへの時間のかかるクエリ

プラグインの効率的なクエリまたは不正なコードであることが判明した場合は、問題を修正するためにWordPress開発者を連れてくる必要があるかもしれません。

7.ログを確認します

エラーログも利用する必要があります。 Kinstaクライアントの場合、MyKinstaダッシュボードのログビューアでエラーを簡単に確認できます。 これは、特にサイトのプラグインが原因である場合に、問題をすばやく絞り込むのに役立ちます。

エラーログで502個の不良ゲートウェイエラーを確認します
エラーログで502個の不良ゲートウェイエラーを確認します

ホストにログツールがない場合は、次のコードをwp-config.phpファイルに追加して、ログを有効にすることもできます。

 define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );

WordPressデバッグモードを有効にする方法についてさらにヘルプが必要な場合は、ここに完全なステップバイステップのチュートリアルがあります。

ログは通常、/wp-contentディレクトリにあります。 ここキンスタのような他の人は、「ログ」と呼ばれる専用のフォルダを持っているかもしれません。

ワードプレスエラーログフォルダsftp

ApacheとNGINXのログファイルを確認することもできます。これらは一般的にここにあります。

  • Apache: /var/log/apache2/error.log
  • NGINX: /var/log/nginx/error.log

Kinstaクライアントの場合は、分析ツールを利用して、502のエラーの総数の内訳を取得し、それらが発生する頻度と時期を確認することもできます。 これは、これが進行中の問題である場合、またはおそらくそれ自体で解決した問題である場合のトラブルシューティングに役立ちます。

応答分析500エラーの内訳
応答分析500エラーの内訳

8.PHPを再起動します

最後に、PHPを再起動してみることもできます。 Kinstaクライアントの場合は、MyKinstaダッシュボード内のツールメニューからPHPを簡単に再起動できます。 ホストがこれを提供しない場合は、いつでもサポートチケットを開いて、PHPを再起動するように依頼できます。

PHPを再起動します
PHPを再起動します

9.PHPタイムアウトの問題

PHPタイムアウトは、単一のPHPプロセスがサーバーのPHP構成で設定されたmax_execution_timeまたはmax_execution_timeより長くmax_input_timeされた場合に発生します。 これは、WordPressの大量のインポートを行っている場合によく発生します。 これが発生すると、通常、502サーバーエラーが表示されます。 PHPタイムアウトが発生した場合は、これらの値を上げる必要がある場合があります。

サーバーに設定されている値と、値を増やすことができるかどうかについては、現在のWordPressホストに確認できます。 Kinstaプラットフォームでは、これらの値はデフォルトで300秒(5分)に設定されています。 当社のプラットフォームで利用可能な最大PHPタイムアウト値は、現在のホスティングプランに基づいています。

概要

ご覧のとおり、WordPressサイトの502ゲートウェイエラーをトラブルシューティングして修正するためにできることはたくさんあります。 通常、これはクライアント側ではなく、ホストの問題です。 不正なコードや最適化されていないクエリを含むサードパーティのプラグインやテーマも注意が必要です。 見逃したことはありますか? おそらく、502ゲートウェイエラーのトラブルシューティングに関する別のヒントがあります。 もしそうなら、コメントで私たちに知らせてください。