WordPressで運用しているサイトを開こうとしたら、「502 Bad Gateway」のエラーが表示されてしまいました。
下の「nginx」はWebサーバのソフトウェアの名称ですから、エラーの原因ではありません。
WordPressのプラグインを追加/バージョンアップしたとか、テーマをいじったとか、そう言うのは一切ありません。数時間前まで何事もなくアクセスできていたサイトが突然エラーになったという状況。
WebブラウザはChromeを使っており、そのキャッシュをクリアしてみたり、Chromeを立ち上げなおしたりしてもダメ。Firefoxでもダメ。となると、サーバ側なのでしょう。念のため、iPhoneでアクセスしてみたら、普通に表示されます。さらに、別のPCからアクセスしてみたらこちらもOK。わけがわかりません。
さらに、上手く開けなかったPCで、WebブラウザをEdgeにして試してみたら、なんとOK。Safariでもちゃんと開けます。一体どういうこと?
考えてみると、ChromeやFirefoxからはよく開くサイトで、ログインしたままの状態になっていました。そこで、EdgeやSafariからログインしようとしたら、ここで、「502 Bad Gateway」が発生。ログインはしていません。ログイン画面にアクセスしようとした時点でエラーになってしまいましたので。しかも、一度エラーになったら、もう二度と開けなくなりました。エラーのままです。完全に理解不能です。
一体なんだろうと思って「502 Bad Gateway」で検索して調べてみると、たくさんの情報が見つかります。しかし、このような不思議な現象は見つけられませんでした。一応、そうした解説サイトで挙げられている原因や対処方法をざっと並べると:
- 再読込
- Webブラウザのキャッシュをクリア
- PCのDNSキャッシュをクリア
- サーバのトラブル(サーバ会社の対応してくれるのを待つ)
だいたいこんなところ。他には、サーバの設定ミスの類もありますが、自前でWebサーバを構築しているのならそれも考えられますけど、レンタルサーバの自動(簡単)インストールで設置したものなのでそれはありません(できません)。
ともかく、いずれも、今回の私のケースには該当しません。
念のため、サーバの障害情報を確認してみましたけれど、その情報もありませんでした。WordPressにログインしようとしたことをきっかけに起きるのですから、当然ですよね(サーバの障害は排除できる)。
完全に困り果てましたが、とりあえず、サーバの管理画面にログイン(WordPressではなく、レンタルサーバ自体の管理画面)。そこで、エラー情報を見てみようと思ったわけです。しかし、特段、気になるようなエラー情報は見つかりませんでした。
ここでふと気になったのはPHPのバージョン。少々古い7.0.23でした。
そこで、これを「推奨」の7.2.13に変更。問題のWordPressをアクセスしてみたら、問題なく表示されました。
以上、稀なケースかもしれませんが、WordPressが「502 Bad Gateway」となってしまう原因はPHPのバージョンもあり得るようです。