Health Checks の分析を使い、オリジンの問題をデバッグします。
オリジンの稼働率、レイテンシー、障害理由、個別のイベントログを確認できます。
- Health Checks By Uptime: 各オリジンの稼働率を時系列で表示します。
- Health Checks By Failure Reason: 障害を理由別に内訳表示します。下記のよくあるエラーコードの原因と解決策 を参照してください。
- Health Checks By Latency: 各オリジンの平均レイテンシー(ラウンドトリップタイム)を時系列で表示します。
- Event Log: 個々のヘルスチェックデータを表示します。
- 各レコードを選択すると、Round trip time、Failure Reason、Average Waterfall(リクエスト各段階の時系列データ)、Response status code などの詳細を確認できます。
- Global は設定したリージョンではありません。有効なすべてのリージョンの集計データを表します。
Health Checks がオリジンサーバーへの TCP 接続を確立できませんでした。
Cloudflare とオリジンの間のネットワーク障害、またはファイアウォールが接続を拒否している場合に起きがちです。ネットワークとファイアウォールの設定がトラフィックを妨げていないことを確認してください。
設定したタイムアウト内に、オリジンが HTTP レスポンスを返しませんでした。タイムアウトが短い(たとえば 1〜2 秒)ときに起きます。
オリジンサーバーが応答できるよう、HTTP レスポンスタイムアウトを長くすることを Cloudflare は推奨します。
Cloudflare が受け取った HTTP ステータスコードが、Health Check 設定の expected_codes プロパティで定義した値と一致しません。
レスポンスコードは expected_codes と一致する必要があります。想定するレスポンスコードと、Event Log で受け取ったステータスコードを比較して、値が正しいことを確認してください。
Health Check を HTTP 接続で設定していて、オリジンサーバーが HTTPS へリダイレクトしている場合にも、この問題が出ることがあります。このときのレスポンスコードは、多くの場合 301、302、または 303 です。
Cloudflare の Health Check 設定を HTTPS に変更するか、follow_redirect の値を true にして、Cloudflare が正しいステータスコードを解決できるようにします。
オリジンサーバーから返ったレスポンス本文に、Health Check で設定した expected_body の値(大文字小文字を区別しない)が含まれていません。
expected_body がレスポンス本文の先頭 10 KB に含まれるようにしてください。
証明書がパブリックな認証局(CA)から信頼されていません。
自己署名証明書を使っている場合は、パブリックに信頼される証明書を使うか、Health Check の allow_insecure プロパティを true にすることを Cloudflare は推奨します。
Health Check(クライアント)が、サーバー証明書上の名前をリクエストのホスト名と照合できませんでした。
Health Check の設定を確認し、Cloudflare Health Check に設定した header の値が正しいことを確認してください。
古いバージョンの TLS を使っている場合や、オリジンサーバーが HTTPS 用に設定されていない場合に、このエラーが起きることがあります。
オリジンサーバーが TLS 1.2 以上に対応し、HTTPS 用に設定されていることを確認してください。
サーバーがクライアントから提示された名前を認識しませんでした。ホストヘッダーを設定している場合、初期 TLS ハンドシェイクの ServerName として使われます。未設定の場合、Cloudflare は ServerName を提示しないため、このエラーの原因になります。
Health Check オブジェクトにホストヘッダーを設定してください。
その IP アドレスに Cloudflare のネットワークから到達できません。よくある原因は、ISP やホスティングプロバイダーのネットワーク障害(例: BGP レベル)、またはその IP が存在しないことです。
IP が正しいことを確認し、ISP またはホスティングプロバイダーのネットワーク障害がないかを調べてください。
データ送信が確認されず、再送も成功しませんでした。
オリジンでハンドシェイクの SYN-ACK が行われているかを確認し、Cloudflare サポート に連絡してください。
ネットワークが利用できないため、Cloudflare がオリジンの Web サーバーに接続できません。通常はネットワーク障害、またはオリジン IP の誤りが原因です。
Cloudflare の Health Checks 設定に入力したオリジンの IP、またはオリジンホスト名の DNS で返される IP を確認してください。
多くの場合、HTTP 502 エラーまたはバッドゲートウェイが原因です。
オリジンの Web サーバーがリクエストに応答すること、およびアプリケーションがクラッシュしていないこと、高負荷でないことを確認してください。
オリジンの Web サーバーのホスト名が存在しません。
オリジンの Web サーバーが IP アドレスに解決されることを確認してください。
クライアントがオリジンの Web サーバーからデータを受信しているときに、ネットワークエラーが発生しました。
オリジンの Web サーバーでトラフィックが多いか、エラーが発生していないかを確認してください。
Health Check に設定エラーがあり、オリジンに対するチェックが実行されませんでした。
Health Check の設定を見直し、オリジンへの想定リクエストと一致していることを確認してください。
オリジンの Web サーバーのホスト名が、公開ルーティングできない、または制限された IP アドレス(たとえば localhost アドレス)に解決されます。このオリジンに対するチェックは実行されません。
オリジンの Web サーバーのホスト名が、公開ルーティング可能な IP アドレスに解決されることを確認してください。ホスト名が公開の Cloudflare anycast IP に解決される場合(ホスト名が Cloudflare でプロキシされているため)、ヘルスチェックは実行されますが、実際のオリジンサーバーではなく Cloudflare のエッジをプローブします。オリジンサーバーを直接監視するには、ヘルスチェックにオリジンの IP アドレス、またはプロキシしていないホスト名を使うように設定してください。
上記のいずれの障害種別にも分類できない場合です。
Cloudflare サポート に連絡してください。