若您是服务提供商,请参阅本页了解 Cloudflare 如何支持 Domain Connect ↗,以及如何接入您的模板。
Domain Connect 是一项开放标准,使服务提供商(如电子邮件或 Web 托管平台)能够更轻松地为其最终用户配置功能,而无需手动编辑 DNS 记录。
这通过模板实现,模板弥合了必要配置(服务提供商所需)与必要 DNS 记录更改(必须在权威 DNS 提供商处进行)之间的差距。
实践中,这意味着当拥有 example.com 且以 Cloudflare 作为权威 DNS 的用户想要使用您的服务时,他们只需进行身份验证,必要的更改将自动应用,而无需手动更新 DNS 记录。
- 请注意,Cloudflare 仅支持 Domain Connect 同步流程 ↗。
- Domain Connect 模板和工具发布在 GitHub 上,因此您需要拥有 GitHub 账户并熟悉 GitHub fork 和 pull request ↗。
Domain Connect 模板在 GitHub 仓库中发布和维护。
- Fork templates 仓库 ↗。
- 添加您的模板。您可以复制现有模板之一,并根据需要进行编辑。
-
有关不同可用字段的详细信息,请参阅 Domain Connect 规范 ↗。
-
若存在,您必须在模板上将
syncBlock字段设置为false。这意味着模板流程将是同步的,这是 Cloudflare 唯一支持的选项。 -
您还必须提供同步公钥域名(
syncPubKeyDomain1)。当您的模板在使用中时,同步调用将进行数字签名。
-
- 确保遵循 Domain Connect 定义的命名格式:
<providerId>.<serviceId>.json。
- 提交 pull request,将您的模板添加到仓库。
pull request 经过审核并合并后,请按下方说明联系 Cloudflare。
模板接入后,将为您的最终用户提供图形用户界面流程。
发送电子邮件至 domain-connect@cloudflare.com,包含以下信息:
-
您要接入的模板列表及其对应的 GitHub 超链接。
-
用于查询
syncPubKeyDomain1 TXT 记录的完全限定域名。 -
作为 Domain Connect 流程一部分显示的 logo。优先使用
SVG格式。 -
您希望 Cloudflare 为模板中的
A、AAAA和CNAME记录设置的默认代理状态。不支持代理其他记录类型。
5.(可选)用于测试流程的 Cloudflare 账户 ID。
若您已部署 DNS 提供商发现 ↗自动化且不会手动列出新的 DNS 提供商,Cloudflare 可以最初将您的模板限制为仅对指定账户可见。确认一切按预期工作后,Cloudflare 将在发现端点上发布您的模板,供您的自动化获取。
在 Domain Connect 规范 ↗中,您会找到以下属性:
- 可与应用模板 URL ↗一起使用的属性。
- 用于定义模板本身 ↗的属性。
- 用于定义各个 DNS 记录 ↗的属性。
虽然 Cloudflare 支持其中大部分属性,但有些是必需的,有些则不受支持。
完整列表请参阅 Domain Connect 规范 ↗。以下是 Cloudflare 特定的详细信息。
- Redirect URI:Domain Connect 文档指出,它必须限定于模板中的
syncRedirectDomain,或请求必须签名。Cloudflare 要求请求签名,因此不会检查redirect_uri是否限定于syncRedirectDomain。 - State:不受支持,将被忽略。
- Service Name:不受支持,将被忽略。
- Signature:必需。它还必须是最后一个查询参数。
- Key:必需。您必须发布公钥,并将其放在模板中指定为
syncPubKeyDomain的域名的 DNS TXT 记录中。为支持密钥轮换,TXT 记录的主机名必须作为查询字符串上的另一个变量追加。
完整列表请参阅 Domain Connect 规范 ↗。以下是 Cloudflare 特定的详细信息。
- Service Provider Name:将显示在用户界面上。
- Service Name:将不会显示在用户界面上。
- Logo:若存在,将显示在用户界面上。
- Synchronous Block:不受支持,将被忽略。Cloudflare 仅支持同步流程。
- Shared:不受支持,将被忽略。
- Shared Service Name:不受支持,将被忽略。
- Synchronous Public Key Domain:必需。Cloudflare 仅支持同步流程并始终检查签名。
- Synchronous Redirect Domains:不受支持,将被忽略。Cloudflare 查看已签名的应用模板 URL 中提供的
redirect_uri。 - Multiple Instance:不受支持,将被忽略。
- Warn Phishing:不受支持,将被忽略。
- Host Required:不受支持,将被忽略。
完整列表请参阅 Domain Connect 规范 ↗。以下是 Cloudflare 特定的详细信息。
- Essential:不受支持,将被忽略。
- TXT Conflict Matching Mode:不受支持,将被忽略。
- TXT Conflict Matching Prefix:不受支持,将被忽略。
以下记录类型在 Domain Connect 规范的 extensions/exclusions ↗ 部分中描述。以下是 Cloudflare 特定的详细信息。
- APEXCNAME:不支持此自定义记录类型,将导致接入失败。您可以使用标准 CNAME 记录代替,因为 Cloudflare 会在 zone apex 自动应用 CNAME flattening。
- REDIR301 和 REDIR302:应用时,这些记录将转换为 zone 特定的批量重定向规则。若 zone 在应用模板之前已有批量重定向,它们将被替换。
自 2024 年 9 月起,模板更新由自动化获取。
自动化将 Cloudflare 中的模板版本号与互联网上模板的权威来源进行比较。此检查每天运行多次。虽然 Cloudflare 无法保证每次更新的确切获取时间,但该过程预计不会超过八小时。
您可以联系 Cloudflare 选择退出自动更新。禁用自动化后,您可以单独请求模板更新,发送邮件至 domain-connect@cloudflare.com。
发送电子邮件至 domain-connect@cloudflare.com,包含以下信息:
-
详细描述问题,包括:
- 问题发生的日期和时间。
- 模板的
providerId和serviceId。 - 请求实际做了什么。
- 您预期会发生什么。
-
包含问题更新的 HAR 文件附件。
模板接入后最常见的问题是验证错误,通常由 syncPubKeyDomain TXT 记录引起。
您可以使用 Domain Connect ↗ 等工具提供的工具重新发布签名来修复这些问题。此外,您可以使用此公钥调试工具 ↗测试签名验证。