一般的なエラーコード
Cloudflare Load Balancing APIは、各プールとエンドポイントにグローバルなヘルスを追加します。また、私たちのネットワークがより広いレベルで何を見ているかを確認することもできます。Cloudflareは、プールとエンドポイントのヘルスステータスを決定するためにクォーラムシステムを使用します。クォーラムは、地域でヘルスモニタリクエストを実行する責任を持つPoPから取得され、過半数の結果が使用されます。
障害のトラブルシューティングを行う際は、Cloudflare Load Balancingへのプログラム的アクセスのためにCloudflare APIを使用してください。ヘルスモニターイベントとロードバランサーモニターのルートは、ロードバランシングイベントログにアクセスし、Cloudflareモニターを再構成するための優れたツールです。
Cloudflare APIから、List Health Monitor Eventsコマンドを使用して、エンドポイントのヘルスのデータセンターごとの内訳を取得できます。
GET user/load_balancing_analytics/eventsヘルスモニタリクエストが失敗した場合、内訳には理由が含まれます。
ログ結果をフィルタリングするのに役立つオプションのパラメータのリストについては、* Cloudflare API: Health Monitor Events*を参照してください。
一般的なトラブルシューティングの原因と解決策は以下に示します。
私たちのヘルスモニタリクエストが、あなたのエンドポイントへのTCP接続を確立できませんでした。
これは通常、Cloudflareとあなたのエンドポイントの間にネットワーク障害がある場合や、ファイアウォールが接続を拒否した場合に発生します。ネットワークとファイアウォールの設定がロードバランシングトラフィックに干渉していないことを確認してください。
エンドポイントが設定されたタイムアウト内にHTTPレスポンスを返すことができませんでした。これは、タイムアウトが低い数値(例えば1秒または2秒)に設定されている場合に発生します。
エンドポイントが応答できるように、HTTPレスポンスタイムアウトを増やすことをお勧めします。
Cloudflareが、あなたのCloudflareモニター設定のexpected_codesプロパティに定義された値と一致しないHTTPステータスコードを受信しました。
レスポンスコードはexpected_codesと一致する必要があります。List Monitors APIコマンドを使用して、値が正しいことを確認してください。
HTTP接続を使用するようにモニターが設定されている場合、エンドポイントがHTTPSにリダイレクトしていると、この問題が発生することがあります。この場合、レスポンスコードは通常301、302、または303になります。
Cloudflareモニターの設定をHTTPSを使用するように変更するか、follow_redirectの値をtrueに設定して、正しいステータスコードを解決できるようにします。
エンドポイントから返されるレスポンスボディが、モニターに設定されたexpected_bodyの(大文字と小文字を区別しない)値を含んでいません。
レスポンスの最初の10KBのみを読み取ることに注意してください。より大きなレスポンスを返し、expected_bodyが最初の10KBに含まれていない場合、ヘルスモニタリクエストは失敗します。
expected_bodyがレスポンスボディの最初の10KBに含まれていることを確認してください。
証明書が公的な証明機関(CA)によって信頼されていません。
自己署名証明書を使用している場合は、公開信頼証明書を使用するか、モニターのallow_insecureプロパティをtrueに設定することをお勧めします。
私たちのヘルスモニター(クライアント)が、サーバー証明書の名前をリクエストのホスト名と一致させることができませんでした。
List Monitorsコマンドを使用して、Cloudflareモニターに設定されたheader値が正しいことを確認し、Update Monitorsコマンドを使用して必要な変更を行ってください。
古いバージョンのTLSを使用している場合や、エンドポイントがHTTPSに設定されていない場合にこのエラーが発生することがあります。
エンドポイントがTLS 1.0以上をサポートし、HTTPSに設定されていることを確認してください。
サーバーがクライアントによって提供された名前を認識しませんでした。ホストヘッダーが設定されている場合、初期TLSハンドシェイクでこれをServerNameとして設定します。設定されていない場合、ServerNameを提供しないため、このエラーが発生する可能性があります。
モニターオブジェクトにホストヘッダーを設定してください。
IPアドレスが私たちのネットワークから到達できません。一般的な原因は、ISPまたはホスティングプロバイダーのネットワークの問題(例:BGPレベル)や、IPが存在しないことです。
IPが正確であることを確認し、正確であればISPまたはホスティングプロバイダーのネットワークの問題がないか確認してください。
プランに含まれているよりも多くのオブジェクト(モニター、プール、またはエンドポイント)を作成しようとすると、このエラーが発生します。
ダッシュボードを使用している場合、追加のオブジェクトを作成することはできません。
Cloudflare APIを使用している場合、エラーメッセージが表示されます。
- より多くのオブジェクト(ロードバランサー、プール、エンドポイント、またはモニター)を作成する必要があるエンタープライズ顧客は、アカウントチームに連絡してこの問題を議論してください。
- セルフサービスの顧客は、より多くのエンドポイントでロードバランシングサブスクリプションをアップグレードして、ロードバランシング容量を増やすことができます。
データ送信が確認されず、データの再送信が成功しませんでした。
ハンドシェイクのためのSYN-ACKがエンドポイントで行われているか確認し、Cloudflareサポートに連絡してください。
ブラウザのウェブサーバーへの接続が安全でないことを示しています。
Wi-Fiネットワークを変更するか、有線ネットワークに接続するか、ネットワーク接続が安定していることを確認してください。
Cloudflareがネットワークの利用不可のため、エンドポイントに接続できません。これは通常、ネットワークの問題や不正確なIPが原因です。
Cloudflareのロードバランサー設定でエンドポイントのために入力されたIP、またはエンドポイントホスト名のDNSから返されたIPを確認してください。
通常、HTTP 502エラーまたは不正なゲートウェイが原因です。
エンドポイントがリクエストに応答し、アプリケーションがクラッシュしていないか、または高負荷でないことを確認してください。
エンドポイントホスト名が存在しません。
エンドポイントがIPアドレスに解決されることを確認してください。
クライアントがエンドポイントからデータを受信している間にネットワークエラーが発生しました。
エンドポイントが高トラフィックを経験しているか、エラーが発生しているか確認してください。
モニターに設定エラーがあり、プールエンドポイントに対してチェックが実行されていません。
モニター設定を確認して、エンドポイントへの期待されるリクエストと一致していることを確認してください。
エンドポイントのホスト名が内部またはオレンジクラウドのIPアドレスに解決されます。プールエンドポイントに対してチェックは実行されません。
Cloudflareは、Cloudflareによってプロキシされたエンドポイントホスト名の使用を許可していません。
アカウントまたはゾーンに対してロードバランシングが有効になっていません。
エンタープライズ顧客は、Cloudflareアカウントチームに連絡してください。無料、プロ、ビジネス顧客は、ロードバランシングを有効にする必要があります。
ロードバランサーエンドポイントを設定する際にホストヘッダー値を設定しようとするとエラーが発生します。
Cloudflareは、設定されたエンドポイントホストヘッダーを、アカウントに関連付けられたゾーンの即時サブドメインである完全修飾ドメイン名(FQDN)に制限しています。たとえば、このホストヘッダーはロードバランサー自体と同じゾーンになりますが、プールは複数のロードバランサーで使用できます。
失敗が上記の他のタイプの失敗として分類できない場合。
Cloudflareサポートに連絡してください。