サービスプロバイダーの方は、Cloudflare が Domain Connect ↗ をどのようにサポートしているか、およびテンプレートの導入方法をこのページで確認してください。
Domain Connect はオープン標準です。メールや Web ホスティングなどのサービスプロバイダーが、エンドユーザーによる機能設定を簡単にできます。ユーザーは DNS レコードを手作業で編集する必要がありません。
サービスプロバイダーが必要とする設定と、権威 DNS プロバイダー側で必要な DNS レコード変更のあいだを、テンプレートがつなぎます。
実際の流れでは、example.com を所有し、権威 DNS として Cloudflare を使っているユーザーがサービスを使うとき、DNS レコードを手作業で更新する必要はありません。認証するだけで、必要な変更が自動で適用されます。
- Cloudflare がサポートするのは Domain Connect の同期フロー ↗ だけです。
- Domain Connect のテンプレートとツールは GitHub で公開されています。GitHub アカウントが必要で、GitHub のフォークとプルリクエスト ↗ に慣れている必要があります。
Domain Connect のテンプレートは、GitHub リポジトリで公開・管理されています。
- テンプレートリポジトリ ↗ をフォークします。
- テンプレートを追加します。既存テンプレートのコピーを作り、必要に応じて編集できます。
- 利用できる各フィールドの詳細は、Domain Connect Specification ↗ を参照してください。
- テンプレートに
syncBlockフィールドがある場合は、falseに設定する必要があります。テンプレートフローが同期になることを意味し、Cloudflare がサポートする唯一の選択肢です。 - 同期用の公開鍵ドメイン(
syncPubKeyDomain1)も指定する必要があります。テンプレートの利用時、同期呼び出しはデジタル署名されます。
- Domain Connect が定める命名形式
<providerId>.<serviceId>.jsonに従ってください。
- テンプレートをリポジトリへ追加するため、プルリクエストを提出します。
プルリクエストがレビューされてマージされたら、次の手順で Cloudflare に連絡してください。
テンプレートが導入されると、エンドユーザー向けのグラフィカルなフローが使えるようになります。
次の情報を添えて、domain-connect@cloudflare.com へメールを送ってください。
-
導入したいテンプレートの一覧と、それぞれの GitHub ハイパーリンク。
-
syncPubKeyDomain1 の TXT レコードを照会する完全修飾ドメイン名。 -
Domain Connect フローで表示するロゴ。できれば
SVG形式。 -
テンプレートに含まれる
A、AAAA、CNAMEレコードに対して、Cloudflare に設定してほしいデフォルトの プロキシステータス。ほかのレコードタイプのプロキシはサポートされていません。 -
(任意)フローをテストするための Cloudflare アカウント ID。
DNS provider discovery ↗ の自動化があり、新しい DNS プロバイダーを手作業で一覧に載せない場合、Cloudflare は最初、指定したアカウントにだけテンプレートを公開できます。動作を確認できたあと、Cloudflare は discovery エンドポイントでテンプレートを公開し、自動化が取得できるようにします。
Domain Connect Specification ↗ には、次のプロパティがあります。
- apply template URL ↗ で使えるプロパティ。
- テンプレート自体の定義 ↗ 用のプロパティ。
- 個々の DNS レコード ↗ を定義するプロパティ。
ほとんどは Cloudflare でサポートされますが、必須のものも、サポートされないものもあります。
一覧の全体は Domain Connect Specification ↗ を参照してください。以下は Cloudflare 固有の内容です。
- Redirect URI: Domain Connect のドキュメントでは、テンプレートの
syncRedirectDomainにスコープするか、リクエストに署名する必要があります。Cloudflare はリクエストの署名を必須とするため、redirect_uriがsyncRedirectDomainにスコープされているかは確認しません。 - State: サポートされず、無視されます。
- Service Name: サポートされず、無視されます。
- Signature: 必須です。クエリパラメーターの末尾である必要もあります。
- Key: 必須です。公開鍵を公開し、テンプレートの
syncPubKeyDomainで指定したドメインの DNS TXT レコードに置きます。鍵のローテーションに対応するため、TXT レコードのホスト名を、フォームのクエリ文字列に別の変数として追加する必要があります。
一覧の全体は Domain Connect Specification ↗ を参照してください。以下は Cloudflare 固有の内容です。
- Service Provider Name: ユーザーインターフェースに表示されます。
- Service Name: ユーザーインターフェースには表示されません。
- Logo: ある場合、ユーザーインターフェースに表示されます。
- Synchronous Block: サポートされず、無視されます。Cloudflare がサポートするのは同期フローだけです。
- Shared: サポートされず、無視されます。
- Shared Service Name: サポートされず、無視されます。
- Synchronous Public Key Domain: 必須です。Cloudflare は同期フローのみをサポートし、常に署名を確認します。
- Synchronous Redirect Domains: サポートされず、無視されます。Cloudflare は、署名済み apply template URL で渡された
redirect_uriを見ます。 - Multiple Instance: サポートされず、無視されます。
- Warn Phishing: サポートされず、無視されます。
- Host Required: サポートされず、無視されます。
一覧の全体は Domain Connect Specification ↗ を参照してください。以下は Cloudflare 固有の内容です。
- Essential: サポートされず、無視されます。
- TXT Conflict Matching Mode: サポートされず、無視されます。
- TXT Conflict Matching Prefix: サポートされず、無視されます。
次のレコードタイプは、Domain Connect Specification の extensions/exclusions ↗ で説明されています。以下は Cloudflare 固有の内容です。
- APEXCNAME: このカスタムレコードタイプはサポートされず、導入が失敗します。代わりに標準の CNAME レコードを使えます。Cloudflare はゾーン apex で CNAME flattening を自動適用します。
- REDIR301 および REDIR302: 適用時、これらのレコードはゾーン固有の Bulk Redirect ルールに変換されます。テンプレート適用前にゾーンに既存の Bulk Redirect がある場合、それらは置き換えられます。
2024年9月以降、テンプレートの更新は自動化で取り込まれます。
自動化は、Cloudflare 内のテンプレートバージョン番号と、インターネット上のテンプレートの権威ソースを比較します。この確認は 1 日に複数回実行されます。各更新が取り込まれる正確な時刻は保証できませんが、通常は 8 時間以内です。
自動更新をオプトアウトするには、Cloudflare に連絡してください。自動化を無効にしたあと、個別のテンプレート更新は domain-connect@cloudflare.com へ書いて依頼できます。
次の情報を添えて、domain-connect@cloudflare.com へメールを送ってください。
-
何が問題かの詳しい説明。次を含めてください。
- 問題が起きた日時。
- テンプレートの
providerIdとserviceId。 - リクエストが何をしたかの説明。
- 期待していた結果の説明。
-
問題のあった更新を含む HAR ファイル の添付。
テンプレート導入後に最も多い問題は検証エラーで、多くの場合 syncPubKeyDomain の TXT レコードが原因です。
Domain Connect ↗ が提供するツールなどで署名を再公開すると修正できます。署名の検証は、この 公開鍵デバッグツール ↗ でもテストできます。
-
デジタル署名を検証する公開鍵を含む
TXTレコードを照会できるドメインです。詳細は デジタル署名付きリクエスト ↗ を参照してください。 ↩ ↩2