Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Domain Connect

最終更新 Markdown で表示Agent セットアップ

サービスプロバイダーの方は、Cloudflare が Domain Connect をどのようにサポートしているか、およびテンプレートの導入方法をこのページで確認してください。

Domain Connect とは

Domain Connect はオープン標準です。メールや Web ホスティングなどのサービスプロバイダーが、エンドユーザーによる機能設定を簡単にできます。ユーザーは DNS レコードを手作業で編集する必要がありません。

サービスプロバイダーが必要とする設定と、権威 DNS プロバイダー側で必要な DNS レコード変更のあいだを、テンプレートがつなぎます。

実際の流れでは、example.com を所有し、権威 DNS として Cloudflare を使っているユーザーがサービスを使うとき、DNS レコードを手作業で更新する必要はありません。認証するだけで、必要な変更が自動で適用されます。

セットアップ

始める前に

1. リポジトリにテンプレートを追加する

Domain Connect のテンプレートは、GitHub リポジトリで公開・管理されています。

  1. テンプレートリポジトリ をフォークします。
  2. テンプレートを追加します。既存テンプレートのコピーを作り、必要に応じて編集できます。
    • 利用できる各フィールドの詳細は、Domain Connect Specification を参照してください。
    • テンプレートに syncBlock フィールドがある場合は、false に設定する必要があります。テンプレートフローが同期になることを意味し、Cloudflare がサポートする唯一の選択肢です。
    • 同期用の公開鍵ドメイン(syncPubKeyDomain 1)も指定する必要があります。テンプレートの利用時、同期呼び出しはデジタル署名されます。
  3. Domain Connect が定める命名形式 <providerId>.<serviceId>.json に従ってください。
  1. テンプレートをリポジトリへ追加するため、プルリクエストを提出します。

プルリクエストがレビューされてマージされたら、次の手順で Cloudflare に連絡してください。

2. Cloudflare に連絡してテンプレートを導入する

テンプレートが導入されると、エンドユーザー向けのグラフィカルなフローが使えるようになります。

次の情報を添えて、domain-connect@cloudflare.com へメールを送ってください。

  1. 導入したいテンプレートの一覧と、それぞれの GitHub ハイパーリンク。

  2. syncPubKeyDomain1 の TXT レコードを照会する完全修飾ドメイン名。

  3. Domain Connect フローで表示するロゴ。できれば SVG 形式。

  4. テンプレートに含まれる AAAAACNAME レコードに対して、Cloudflare に設定してほしいデフォルトの プロキシステータス。ほかのレコードタイプのプロキシはサポートされていません。

  5. (任意)フローをテストするための Cloudflare アカウント ID

    DNS provider discovery の自動化があり、新しい DNS プロバイダーを手作業で一覧に載せない場合、Cloudflare は最初、指定したアカウントにだけテンプレートを公開できます。動作を確認できたあと、Cloudflare は discovery エンドポイントでテンプレートを公開し、自動化が取得できるようにします。

プロパティのサポート

Domain Connect Specification には、次のプロパティがあります。

ほとんどは Cloudflare でサポートされますが、必須のものも、サポートされないものもあります。

Apply template URL

一覧の全体は Domain Connect Specification を参照してください。以下は Cloudflare 固有の内容です。

  • Redirect URI: Domain Connect のドキュメントでは、テンプレートの syncRedirectDomain にスコープするか、リクエストに署名する必要があります。Cloudflare はリクエストの署名を必須とするため、redirect_urisyncRedirectDomain にスコープされているかは確認しません。
  • 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: サポートされず、無視されます。

DNS レコード

一覧の全体は 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 へメールを送ってください。

  1. 何が問題かの詳しい説明。次を含めてください。

    • 問題が起きた日時。
    • テンプレートの providerIdserviceId
    • リクエストが何をしたかの説明。
    • 期待していた結果の説明。
  2. 問題のあった更新を含む HAR ファイル の添付。

検証エラー

テンプレート導入後に最も多い問題は検証エラーで、多くの場合 syncPubKeyDomain の TXT レコードが原因です。

Domain Connect が提供するツールなどで署名を再公開すると修正できます。署名の検証は、この 公開鍵デバッグツール でもテストできます。

Footnotes

  1. デジタル署名を検証する公開鍵を含む TXT レコードを照会できるドメインです。詳細は デジタル署名付きリクエスト を参照してください。 2

役に立ちましたか?