ファイアウォールの設定が正しくないと、Cloudflare 521エラーが発生することがありますか?

リバースプロキシとしてCloudflareが有効になっているウェブサイトでは、サイトへのアクセス時に以下のような問題が発生することがあります。 エラー521ウェブサーバーがダウン.この種のエラーは クラウドフレア クライアントへの接続は可能だが、ソース(あなたのサーバー)への接続が正常に確立できない。

画像[1] - ファイアウォールの設定が正しくないとCloudflare 521エラーが発生する?

ウェブサービスが起動しない、設定ミスなどの一般的な問題に加え、多くの人はもう一つの根本的な原因を見落としている:ローカルホストのファイアウォールセットアップ本稿ではこのトピックに焦点を当てます。本稿ではこのトピックに焦点を当て、Cloudflareアクセスリンクにおけるファイアウォール(UFWやiptablesなど)の影響を分析し、適切なトラブルシューティングアドバイスを提供します。

エラー521とは何ですか?

エラー521は、Cloudflareがソースステーションへの接続の試みが拒否されたことを示すために与える特定のエラーコードです。例

  • Cloudflareはドメイン名の解決に成功しました
  • Cloudflareエッジノードにクライアントリクエストが正常に届く
  • ソースIPへのCloudflare逆接続が失敗または拒否された。
画像[2] - ファイアウォールの設定が正しくないとCloudflare 521エラーが発生する?

これは通常、送信元局が ウェブサービスDNSの問題でもなければ、存在しないページでもない。

ファイアウォールはCloudflareに影響しますか?

Cloudflareのリクエストは(ブラウザ側のIPではなく)グローバルノードから来るので、ファイアウォールがそれを通さない場合、単に接続を拒否し、521エラーを引き起こします。

次の2つのシナリオはよくあることだ:

シナリオ1:UFWがCloudflare IPをブロックする

UFWはUbuntuの一般的なファイアウォール管理ツールです。CloudflareのIPに対してインバウンドルールが設定されていない場合、リクエストはデフォルトでドロップされるか拒否される可能性があります。

画像[3] - ファイアウォールの設定が正しくないとCloudflare 521エラーが発生する?

よくあるコンフィギュレーションの誤解を以下に挙げる:

sudo ufw default deny incoming
sudo ufw ssh を許可する
sudo ufw 80 を許可

ポート80は開いていますが、CloudflareのIPソースが明示的に受け入れられていない場合、DROPPEDとなり、接続が切断される可能性があります。

シナリオ 2: iptables が外部 CDN リクエストを積極的にドロップする

一部サーバカスタム IPテーブル ルールはセキュリティ管理を強化する。ルールに以下の記述がある場合:

iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP

ウェブサービスが実行されていても、IPソースがホワイトリストにないため、Cloudflareのリバースジェネレーション接続からブロックされます。

ファイアウォールの正しい設定方法

Cloudflareがファイアウォールによってブロックされないようにするには、以下のことを行うことをお勧めします:

すべてのCloudflareエッジノードIPを取得する

Cloudflareは以下の公式アドレスでノードIPセグメントを定期的に更新しています:

https://www.cloudflare.com/ips/

画像[4] - ファイアウォールの設定が正しくないとCloudflare 521エラーが発生する?

IPv4とIPv6の両方のセグメントを含む。

UFWの構成例:

# リセットルール (テスト環境での動作のみ、オンラインではご注意ください)
sudo ufw reset

# デフォルトの拒否を有効にする
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Cloudflare IPセグメントを許可する
for ip in $(curl https://www.cloudflare.com/ips-v4); do sudo ufw allow from $ip to any port 80; done
for ip in $(curl https://www.cloudflare.com/ips-v6); do sudo ufw allow from $ip to any port 80; done

# ファイアウォールを有効にする
sudo ufw enable

iptables 設定例:

#は、CloudflareのIPセグメントがポート80と443にアクセスすることを許可します。
for ip in $(curl https://www.cloudflare.com/ips-v4); do iptables -A INPUT -p tcp -s $ip --dport 80 -j ACCEPT; done
for ip in $(curl https://www.cloudflare.com/ips-v4); do iptables -A INPUT -p tcp -s $ip --dport 443 -j ACCEPT; done

注:上記のスクリプトは、再起動後にルールが無効になるのを避けるため、ファイアウォール永続化ツール(iptables-persistentなど)と組み合わせて使用する必要があります。

エラー521のその他の原因

ファイアウォール以外にも、エラー521は以下の要因で発生する可能性があります:

  • ウェブサービス・プロセスが開始されていない(例 Nginx(アパッチ停止)
  • ウェブサイトのバインディングIPがCloudflare DNS設定と一致しない
  • 過度のホスト負荷、異常なポートリッスン
  • ソースでSSL設定が競合している(CloudflareがFull Strictモードだが、有効な証明書が設定されていない)
画像[5] - ファイアウォールの設定が正しくないとCloudflare 521エラーが発生する?

サービスステータス、リスニングポート、サーバーログから調査を同期することをお勧めします。

概要

クラウドフレア エラー521 基本的にはソースステーションが接続を拒否した結果です。不適切なファイアウォール設定、特にすべてのCloudflareエッジノードIPを解放していないことが、このエラーの一般的な原因です。ほとんどのエラー521は、指定されたIPセグメントを適切に開放し、ウェブサービスが安定していることを確認することで解決できます。

最近の更新


お問い合わせ
チュートリアルが読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ!
カスタマーサービス WeChat
カスタマーサービス WeChat
電話:020-2206-9892
QQ咨询:1025174874
Eメール:[email protected]
勤務時間: 月~金、9:30~18:30、祝日休み
© 複製に関する声明
この記事はリトル・リンが執筆した。
終わり
好きなら応援してください。
クドス1733 分かち合う
解説 ソファ購入

コメントを投稿するにはログインしてください

    コメントなし