身近な話題を投稿してみよう!
502 Bad Gateway

「502 エラー」原因と解決方法は?WEB担当者ができること

WEBサイトを運営していると少なからずトラブルの発生はつきものですが、サイトコンテンツが表示されなくなり、サイトの管理画面にもアクセスができなくなる「502 Bad Gateway(502 エラー)」。

トップ画面のこちら。サイトに入れない(ログインできない)、アクセスできない(表示されない)、更新ができない・・・・。

ひとまず、なにかしらの原因があってエラーが出ているわけですが、「Bad」というキーワードがとんでもなく悪い状況に見えてしまうのも確か。

ねこさん
ねこさん
基本的にサーバー側、運用側のトラブルのため、ユーザーさんは少し待ってアクセスしましょう。

502 Bad Gateway(502 エラー)ってなに?

ねこさん
ねこさん
こちらのページにアクセスされた理由は「ふだん見ているサイトが表示されずに502エラーが表示された」「サイト運営者が502エラーとなって管理画面へのログイン、更新作業などが行えず、解決方法を探している」というケースが多いのではないでしょうか。

502エラー表示のタイミング例(管理者側)

「ログイン画面」からダッシュボードに遷移する際に「502」管理画面に入れない(ダッシュボード)が表示されない
投稿一覧など表示列が多いものが表示されずに「502」
新規投稿で公開を押すと「502」

何回か更新をかけると表示されたりする状態。

エラー内容としては、リクエストに対してデータが格納されているサーバーと通信状態がうまくできていないという状態ですが、一般的には以下が原因が考えられます。

(これ!とはっきり言えない)

一般的に多い原因

サーバー側の問題
DNSの変更などによる問題
ファイアウォール設定の問題
ウェブサイトのコードにエラー
キャッシュの問題
プラグインの問題
PHPバージョンの問題

上記のケースの場合「502 Bad Gateway」が表示されるのですが「実際どれ?」ってなりますよね。

自身でサーバーを組まれる方であればこのページに来られないでしょう。たいていはレンタルサーバーで運用しているサイトで「502 Bad Gateway」が表示されて解決方法を探している方が大半ではないでしょうか。

①についてはおそらくサーバー管理者側でなにかしら作業完了を待つしか無し。

②、③、④についても直前に自身で設定を変えたのであれば戻せばいいはず。⑤についてはブラウザやサイトのキャッシュをクリアで解決できるはず。

WordPress(ワードプレス)で構築されたサイトの場合

WordPress(ワードプレス)で構築されたサイトは汎用性が高い分、運用上、管理すべき部分が多いのも事実。WordPressのバージョン管理、プラグインの更新、データベースの適宜最適化など。

当サイト環境では基本的にはプラグインに関わることで「502 Bad Gateway」が表示されるケースが多くありました。

うさ(仮)
うさ(仮)
プラグイン過多による負荷がかかりすぎていたのが原因でしたが、数年前は訳が分からずサイトを作り直すはめになったのは苦い思い出。

いろんな原因があることはわかるのですが「コレが解決法」、ってのがなかなか見つからない。

さまざまな要因が考えられますが、今回は「WordPress(ワードプレス)で構築されたサイト」かつ「運営者側」の立場の場合、サーバー、PHPの再起動で復旧するケースが大半ですが、そもそもなぜそういう状況になるのかを考えてみます。

解決方法

ユーザー側サイト運営側、サーバー側でのメンテナンス等の終了を待ちましょう
サイト運営側サーバーの再起動、軽微なものであればPHP再起動でも復旧可能ですが根本的な解決にはなりません。

サイト運営者の場合はWEB担当者がどこまでの権限を持っているかで対応できることも変わってくるため、状況によってはサイト運営側でまったく検討がつかない、お手上げ状態ってとなる場合がありますが解決の参考に。

サイト運営側で原因を確認

上から順に簡単。

対応方法内容
プラグインのオフからオン更新したプラグインを停止してみる(サイトに入れない場合はFTPでプラグインファイルをリネームして強制停止)
プラグインを更新前に戻すFTPでディレクトリにバックアップファイルを直接上書きでダウングレード
レストアバックアップから問題発生以前の状態に戻す(サイト全体)
PHPの再起動(再設定)ご利用のサイトのサーバー環境や原因と思われる内容により対応方法は変えてください。
サーバーの再起動

WordPress(ワードプレス)で構築しているサイトの場合、プラグインによるサーバー負荷増加でPHPが処理しきれずエラー、という状態になるケースが多そうなので、まずはPHP、プラグインを疑ってみましょう。

winscp

サイトを最新状態へ更新する

「PHPの再起動(再設定)」で502エラーを一時的に解消していた当時のサイトですが、エラーになる頻度があがってきたため、以下手順で対応

  • プラグインを全停止(※直接管理画面に入れない場合はFTP等で直接リネームで停止)
  • ワードプレスバージョンを最新に更新
  • プラグインを対応するバージョンへ全更新(ひとつずつ)
  • テーマも最新に
  • 不要になったプラグインは削除
  • プラグインをひとつずつチェックしながら有効化
  • 調整

を行ったところ、エラーが出る頻度が激減しました。加えてスピードもアップ。運用テーマとプラグインの相性が問題だった模様。

ご利用の環境により最善の対応方法は異なります。当サイトの場合、プラグイン必須だったため、上記手順を踏みましたが、必要がなければプラグインの削除のみでもいいかもしれません。

ワードプレスバージョン、テーマの更新については細心の注意を払ってください。

原因まったく分からない、サイト運営側で何も操作していない場合

このようなケースの場合、いたずらに操作すると原因の特定ができず、より深刻な状況になる可能性もあるのでサイト管理者、サーバー管理者に連絡しましょう。

こんな場合は要注意(502が出やすい状況)

以下のような場合、サイトの重要なプログラムが機能していない(停止、破損)している場合があるかもしれません。サイトの状態を確認しましょう。

  • 適切なサイズの画像がアップロードできない(2500px以下)
  • 記事の更新ができない
  • ログイン画面の表示が遅い(重い)
  • 管理画面の表示が遅い(重い)

502を起こさないために

サイト運営者としてはアクセスに直結する「502 Bad Gateway」。当サイトの場合AMPを導入しているため、AMPページ(Goolge)が読み込まれるためいきなりアクセスゼロということにはなりませんが、早々に直すべきエラー。

  • プラグインの入れすぎに注意
  • プラグインの更新は一つずつ丁寧に
  • 画像を一括でアップロードするのは控えましょう
  • 競合する性質のプラグインの導入は慎重に(キャッシュ系、画像)
  • バックグラウンドで動作する常駐型のプラグインの導入は慎重に
  • データベースに負荷の高いプラグインの導入は慎重に
  • 上位スペックのサーバーへの移管検討

次ページ:事例:ある日の「502 Bad Gateway」

COMMENT