速度改善・安全対策

WordPressで521 Web Server Is Downが出るときの直し方|Cloudflare・接続拒否の確認順

Cloudflare経由のWordPressへアクセスしたとき、「521 Web Server Is Down」と表示されることがあります。サイト全体が開けない、SSL設定変更後に発生した、Cloudflareを有効にした直後から表示される、といった症状です。

521は、Cloudflareが接続しようとしたオリジンサーバーから接続を拒否された状態です。サーバー停止だけでなく、Webサーバーが必要なポートで待ち受けていない、ファイアウォールがCloudflare IPを遮断した、SSL/TLSモードとポートが合っていない場合にも起こります。

521を消すために、ファイアウォールやセキュリティプラグインを恒久的に全停止しないでください。オリジンを無防備にするのではなく、拒否した層と正規のCloudflare通信を特定して対象限定で直します。

先に結論:521エラーは8段階で確認する

  1. URL、発生時刻、タイムゾーン、Ray IDを記録する
  2. Cloudflareとホスティングの障害情報を確認する
  3. オリジンのWebサーバーが稼働しているか確認する
  4. SSL/TLSモードに合う80番または443番ポートで待ち受けているか確認する
  5. ファイアウォール、WAF、レート制限、セキュリティ機能の遮断ログを見る
  6. 接続元がCloudflare公式IP範囲か照合する
  7. 原因に近い設定だけを修正し、一度ずつ再確認する
  8. 公開ページ、管理画面、保存、SSL、ログ、監視まで確認する

接続後に未知の応答を受けているならWordPressの520エラーを直す確認順、接続が拒否されず時間切れになるならWordPressの522エラーを直す確認順へ切り替えます。

521エラーとは?

Cloudflare公式のError 521は、オリジンWebサーバーがCloudflareからの接続を拒否したときに発生します。代表的な原因は、オリジンのWebサーバー停止とCloudflareリクエストの遮断です。

WordPressの投稿本文やパーマリンクが壊れただけで、通常はTCP接続そのものを拒否する521にはなりません。WordPressより前にあるWebサーバー、ロードバランサー、ファイアウォール、ホスティングの防御機能を先に確認します。

ただし、プラグインやPHP処理が原因でWebサーバーが繰り返し停止し、その結果として521になる可能性はあります。接続拒否を直した後、WordPress側のクラッシュ原因もログで確認します。

稼働停止または接続拒否状態のオリジンサーバー入口

403・502・520・521・522の違い

表示主な状態接続の段階
403 Forbidden接続後のHTTP要求を拒否HTTP応答を返している
502 Bad Gateway中継層が上流から無効な応答を受信上流応答の問題
520 Unknown ErrorCloudflareが想定外の応答を受信接続後の応答異常
521 Web Server Is Downオリジンが接続を拒否接続入口で拒否
522 Connection Timed Out接続または要求確認が時間切れ拒否せず応答しない

403が返っている場合はHTTP応答まで進んでいるため、WordPressの403 Forbiddenを直す手順でWAFや権限を調べます。521では、その前の接続受付を確認します。

WordPressで521が出る主な原因

1.Webサーバーが停止または再起動中

Apache、Nginx、LiteSpeedなどのWebサーバーが停止していると、Cloudflareの接続を受け付けられません。更新、設定変更、メモリ不足、プロセスクラッシュ、ホスティング保守の時刻と521の発生時刻を照合します。

2.必要なポートで待ち受けていない

CloudflareのSSL/TLSモードにより、オリジンへ接続するポートが変わります。公式資料ではFlexibleは80番、FullまたはFull (Strict)は443番でWebサーバーが待ち受けていることを確認するよう案内されています。

3.ファイアウォールがCloudflare IPを拒否している

Cloudflare経由では、多数の閲覧者がCloudflareの共有IP範囲から接続します。短時間のアクセス増加を攻撃と誤認し、サーバーファイアウォール、ホスティング防御、Fail2ban、セキュリティ機能がCloudflareを遮断する場合があります。

4.レート制限が接続元単位で厳しすぎる

実際の訪問者IPを復元できていない状態で接続元単位の制限をかけると、Cloudflareの一つのIPから大量アクセスが来たように見えます。IP復元設定と制限条件を確認し、単純に上限だけを広げません。

5.SSL/TLSモードとオリジン証明書が合っていない

FullまたはFull (Strict)で443番へ接続するのに、WebサーバーがHTTPSを受け付けていない、証明書設定や仮想ホストが誤っている場合があります。証明書エラーだけなら525・526になる場合もあるため、実際のコードとログで判断します。

6.オリジンIPまたはホスト名が古い

サーバー移行やIP変更後、Cloudflare DNSが旧オリジンへ向いたままだと、停止済みサーバーから接続拒否されることがあります。現在のホスティング情報とA・AAAA・CNAMEを照合します。

最初の10分で行う安全な初動

1.エラー証拠と変更履歴を保存する

URL、時刻、Ray ID、直前のDNS・SSL・WAF・サーバー変更、発生範囲を記録します。設定担当が複数いる場合は、同時変更を止めて一つの記録へ集約します。

2.ホスティングの状態を確認する

サーバー障害情報、CPU・メモリ、Webサーバープロセス、再起動履歴を確認します。公開ページだけでなく管理画面も521なら、WordPressの画面操作よりサーバー状態を優先します。

3.戻せる状態を確保する

Webサーバーやファイアウォールを変更する前にWordPressとサーバー設定を戻せるバックアップ手順を確認します。設定ファイルは現在値をコピーし、変更点を一つずつ記録します。

どの層が接続を拒否したか特定する

確認層見るもの判断の手がかり
CloudflareRay ID、SSL/TLSモード、DNS、変更履歴どのIP・ポートへ接続したか
ホスティング障害、稼働状態、リソース、保守サーバー全体が停止していないか
Webサーバープロセス、80/443待受、仮想ホスト、ログ接続を受け付ける状態か
ファイアウォール拒否・レート制限、接続元IP、時刻Cloudflare IPだけを拒否したか
WordPress直前更新、PHPクラッシュ、負荷Webサーバー停止の引き金がないか

Cloudflare公式のIPアドレス資料では、プロキシ対象への通信がCloudflare IPからオリジンへ届くため、オリジン側で公式範囲を許可するよう案内しています。現在の公式一覧を使い、古い転載一覧だけで設定しません。

WordPressの致命的エラーがWebサーバー停止の引き金になった疑いがあれば、WordPress公式のデバッグ方法で画面表示とログ保存を分けます。本番にエラーを表示し続けません。

ファイアウォールと待受ポートを検査する立体的な設備

原因別の安全な直し方

1.Webサーバーを正規手順で復旧する

停止原因をログで確認してから、ホスティングの正規手順でWebサーバーを起動します。繰り返し停止する場合は、自動再起動だけで済ませず、メモリ不足、設定エラー、PHPクラッシュ、更新失敗を解消します。

2.SSL/TLSモードに合うポートを開く

Flexibleなら80番、FullまたはFull (Strict)なら443番で対象ホスト名を受け付けるか、ホスティングへ確認します。安全性のためにFull (Strict)を使っていた場合、安易にFlexibleへ下げず、オリジン証明書と443番待受を正しく直します。

3.Cloudflare IPの誤遮断だけを解除する

拒否ログの接続元とCloudflare公式範囲を照合し、ホスティングへ許可設定を依頼します。防御ルール全体の無効化ではなく、Cloudflareから必要ポートへ来る正規通信だけを扱います。

4.レート制限と実IP復元を整える

Cloudflare経由の実訪問者IPを正しく認識できる構成か確認し、レート制限の対象と閾値を調整します。WordPressのログイン防御を弱めず、Cloudflareの共有IPだけが集中して遮断される条件を直します。

5.DNSのオリジンIPを現在値へ合わせる

ホスティングが示す現在のIPv4・IPv6・ホスト名とCloudflare DNSを照合します。移行中なら、旧サーバー停止前にデータ同期、SSL、メール、サブドメインを確認します。詳しくはWordPressサーバーを見直す判断基準も確認してください。

6.WordPress側の停止原因を再発防止する

接続が戻ったら、同時刻のPHP・WordPressログを確認します。直前のプラグイン更新や重い処理が原因なら、WordPressの500エラーを直す安全な手順で対象限定の切り戻しを行います。

Cloudflareからオリジンへ正規の通信が再接続した施設

やってはいけない対処

  • ファイアウォールとWAFを無期限で全停止する
  • Cloudflare以外を含む全IPから管理ポートを開放する
  • 安全性を確認せずSSL/TLSモードをFlexibleへ下げる
  • 現在値を保存せずDNSのA・AAAAを一括変更する
  • 停止原因を見ずWebサーバー再起動だけを繰り返す
  • WordPress全プラグイン停止を最初の一手にする
  • Ray ID、接続元IP、時刻を記録せずログを消す
  • 認証情報やオリジンIPを公開の場所へ貼る

復旧後の確認チェックリスト

  • Cloudflare経由の主要URLが200を返す
  • Webサーバーが必要なポートで安定して待ち受けている
  • Cloudflare IPが誤遮断・レート制限されていない
  • SSL/TLSモードとオリジン証明書が一致している
  • 管理画面、保存、画像、フォームが正常である
  • Webサーバー・PHPが再停止していない
  • DNSのA・AAAA・CNAMEが現在のオリジンを示す
  • 不要な一時許可やデバッグ表示を元へ戻した
  • 監視とバックアップが正常である
  • 別回線・未ログイン状態でも再発しない

521を含む5xxが継続すると検索クロールにも影響します。Googleの5xxに関する公式資料に沿って、復旧後に重要URLが安定して2xxを返すことを確認します。

自力で直せないときに伝える情報

  • 521が出たURLと発生範囲
  • 日時、タイムゾーン、Ray ID
  • CloudflareのSSL/TLSモード
  • Cloudflare DNSに設定したレコード種別と確認済みIP
  • Webサーバーの稼働・再起動状況
  • 80番・443番の待受状況
  • 同時刻の拒否・レート制限ログ
  • 直前の移行、SSL、WAF、プラグイン変更

ホスティングには、Cloudflare IPから対象ポートへの接続が拒否されていないか調査を依頼します。その結果とRay IDをそろえてCloudflareへ相談すると、担当範囲を分けやすくなります。

よくある質問

521はWordPressが停止しているという意味ですか?

正確には、Cloudflareからオリジンへの接続が拒否された状態です。WordPressのPHPエラーがサーバー停止を招く場合はありますが、まずWebサーバー、ポート、ファイアウォールを確認します。

Cloudflare IPを全部許可して安全ですか?

公式の現在範囲と必要な接続先を使い、ホスティングの案内に従ってください。古い一覧や無関係な全IP許可は避け、オリジン保護と実IP復元も合わせて設計します。

DNS-onlyにすれば解決しますか?

原因切り分けには使える場合がありますが、オリジンの停止やポート不整合は残ります。オリジンIPの露出と防御低下にも注意し、恒久的な解決にはしません。

まとめ

521 Web Server Is Downは、Cloudflareからオリジンへの接続が拒否された状態です。WordPress本文を触る前に、接続入口を確認します。

  • Ray ID、時刻、URL、直前変更を保存する
  • Webサーバー稼働と80・443番ポートを確認する
  • Cloudflare IPの誤遮断とレート制限を調べる
  • SSL/TLSモードとオリジン設定をそろえる
  • 復旧後にWordPress側の停止原因も確認する

-速度改善・安全対策