なんか時々見るよね、「502 Bad Gateway」ってやつ…。
見たいサイトがあってクリックしたら、真っ白な画面にこれだけ。…なんか、こっちが悪いことしたみたいな気分になる。でも、これって基本的にはこっちのせいじゃないんだよね。
で、結局「Bad Gateway」って何なの?
うーん、なんて言ったらいいかな…。ウェブサイトの裏側って、一つのコンピューターだけで動いてるわけじゃないことが多いんだよね。特に、ちょっと大きなサイトになると。
すごく簡単に言うと、「窓口役」のサーバーと、「専門家」のサーバーがいる感じ。
私たちがサイトを見るとき、まず「窓口役(ゲートウェイ)」に「このページ見せて」ってお願いする。 窓口役はそれを受けて、「はいよ」って裏にいる「専門家(本物のサーバー)」に内容を聞きに行く。でも、その専門家が忙しすぎたり、体調不良だったりして、窓口役にヘンな返事(または無言)を返しちゃった…。
そうすると、窓口役は困って、「ごめん、なんか専門家からダメな返事きちゃったわ…」って私たちに伝えるしかない。これが「Bad Gateway(ダメなゲートウェイ経由の返事)」の正体。 だから、悪いのはゲートウェイ(窓口役)じゃなくて、その奥にいるサーバー(専門家)なんだよね。
自分に関係ある?まず確認すべき3つのポイント
このエラー、基本的にはサイト運営者側の問題だから、私たちユーザーができることは少ないんだ。 でも、もしかしたら…ってこともあるから、一応この3つは確認してみる価値あるかも。
リロードしてみる
一番古典的なやつ。F5キーとか、ページの更新ボタンを押してみる。サーバーが一時的に混んでただけなら、これだけで直ることがある。 まあ、気休め程度だけど、最初にやることだよね。自分だけか、みんなそうなのか確認する
もしTwitter(現X)とかの大きいサイトでこれが出たら、たぶん世界中でお祭りになってる。 SNSでサイト名を検索してみると、「〇〇、落ちてる?」みたいな投稿がたくさん見つかるかも。 そういう時は、もう待つしかない。自分だけじゃないってわかるだけでも、ちょっと安心するし。キャッシュを消してみる
これもよく言われるやつ。ブラウザに古い情報が残ってて、本当はもう直ってるのにエラー画面が出続けることがあるらしい。 やり方はブラウザによって違うけど、「設定」→「履歴」とかからキャッシュを削除できる。 でもまあ、これで直ることはそんなに多くない気はする…。
サイト運営者側で考えられる原因
ここからは、もし自分のサイトでこのエラーが出た時の話。正直、頭が痛くなるやつ…。原因はいろいろ考えられるんだよね。
- サーバーの過負荷:アクセスが集中しすぎて、サーバーが処理しきれなくなってる状態。 よくあるけど、根本解決にはサーバーのプランを上げたりしないといけないから、お金がかかる話になりがち。
- PHP-FPMの問題:特にWordPressとかPHPで動いてるサイトだと、こいつが原因のことが結構ある。 Nginxっていうウェブサーバーと連携して動くプログラムなんだけど、こいつが応答しなくなったり、タイムアウトしたり…。 ログを見ないと特定が難しいから、ちょっと面倒。
- ファイアウォールの設定ミス:セキュリティのためにあるファイアウォールが、なぜか正常な通信までブロックしちゃってることがある。 一時的にオフにしてみて直るなら、設定を見直す必要があるね。
- DNSの問題:サーバーを引っ越したりIPアドレスを変えたりした直後だと、新しい情報がネット全体に行き渡るまで時間がかかって、このエラーが出ることがある。 これはだいたい数時間から1日くらい待てば直る。
海外のホスティング会社、例えばKinstaのドキュメントを見ると、グローバルな原因としてサーバーのタイムアウトや「kill script」(長すぎる処理を強制終了させる仕組み)がよく挙げられているね。 一方で、日本のレンタルサーバー、例えばエックスサーバーとかだと、公式サイトで502エラーについて直接言及してるページは少ないけど、アクセス集中やPHPの処理が原因になることが多いのは同じみたい。 ただ、CloudflareみたいなCDNを使っている場合、エラー画面のデザインで原因がCloudflare側か、自分のサーバー側か判断できることがあるのは知っておくと便利かも。
とりあえずどうすれば?対処法の比較
じゃあ、ユーザーとして、あるいはサイト管理者として、具体的にどうすればいいのか。ちょっとまとめてみた。
| 対応策 | 誰がやる? | 効果 | 個人的な一言 |
|---|---|---|---|
| ページをリロードする | ユーザー | △ たまに効く | まあ、やるよね。おまじないみたいなもん。 |
| キャッシュをクリアする | ユーザー | △ 可能性は低い | 正直、これで直った経験はあんまりない…。 |
| サーバーのログを確認する | サイト管理者 | ◎ 原因特定に必須 | これ見ないと始まらないけど、見るの面倒くさいんだよなあ…。 |
| サーバーを再起動する | サイト管理者 | ○ 結構直る | 最終手段。でも影響範囲大きいから怖い。 まずはバックアップを。 |
| ホスティング会社に連絡する | サイト管理者 | ◎ 確実 | 自分でわからなかったら、もう聞くのが一番早い。 プライドは捨てる。 |
まとめというか、まあ落ち着こう
結局のところ、「502 Bad Gateway」は、ユーザーとして遭遇したら「あ、サイトの裏側で何かトラブってるんだな」と思って、ちょっと時間をおいてからまたアクセスしてみるのが一番ってこと。 こっちのPCやスマホがウイルスに感染したとか、そういう話じゃないから、そこは安心していい。
サイトを運営している側だったら…うん、ご愁傷様です。でも、パニックにならずに、まずはログを確認するところから。 サーバー過負荷、PHP、ファイアウォール…犯人はだいたいそのあたりにいるはず。一個ずつ、地道に調べていくしかないね…。
このエラーで何時間も溶かしたこと、ある?もしよかったら、コメントであなたの「502奮闘記」を教えてください。みんなで慰め合おう…。
