若你最初在 Cloudflare 上设置了部分 zone(CNAME 设置),之后可以将其转换为使用辅助设置。
-
即你有一个或多个子域(
sub.example.com)在 Cloudflare 中作为独立 zone 添加,与 apex 域名(example.com)分开管理。 ↩
本页将指导你使用导出与导入以及 API 调用完成此转换。
请确保你考虑以下事项:
- 使用辅助 zone 代理流量需要一项默认未开启的设置。请参阅 Secondary DNS override 以了解更多信息。以下步骤包括启用此设置。
- 对于传入 zone 传输的 DNSSEC 有几个选项。若你希望使用 DNSSEC,请规划将配置的选项,并确认你的其他 DNS 提供商支持该设置。
- 你可以通过订购 advanced 证书 或上传自定义证书 提前准备 SSL/TLS。你应确认证书覆盖所有已代理主机名,并且 SSL 证书状态 ↗ 为 Active(已激活)。
- 从你与 CNAME 设置(部分)一起使用的权威 DNS 提供商导出 zone 文件。
- 编辑 zone 文件以移除任何
cdn.cloudflare.net后缀的出现。
- 若
CNAME目标仅是在创建它的同一主机名后追加 Cloudflare 后缀,请将其替换为 Cloudflare 部分 zone 上的记录。
示例
权威 DNS 提供商中的原始记录:
| Type | Name | Content |
|---|---|---|
CNAME |
www.example.com |
www.example.com.cdn.cloudflare.net |
Cloudflare 部分 zone 中的记录:
| Type | Name | Content |
|---|---|---|
A |
www.example.com |
<IPv4> |
A |
www.example.com |
<IPv4> |
在 zone 文件中调整后的最终记录:
| Type | Name | Content |
|---|---|---|
A |
www.example.com |
<IPv4> |
A |
www.example.com |
<IPv4> |
- 若
CNAME记录指向不同的主机名,请保留此记录但移除cdn.cloudflare.net后缀,并同时引入 Cloudflare 部分 zone 中的记录。
示例
权威 DNS 提供商中的原始记录:
| Type | Name | Content |
|---|---|---|
CNAME |
www.example.com |
other-hostname.example.com.cdn.cloudflare.net |
Cloudflare 部分 zone(CNAME 设置)中的记录:
| Type | Name | Content |
|---|---|---|
A |
other-hostname.example.com |
<IPv4> |
A |
other-hostname.example.com |
<IPv4> |
在 zone 文件中调整后的最终记录:
| Type | Name | Content |
|---|---|---|
CNAME |
www.example.com |
other-hostname.example.com |
A |
other-hostname.example.com |
<IPv4> |
A |
other-hostname.example.com |
<IPv4> |
-
使用 Import DNS Records 端点,配合正确格式化的 zone 文件,将记录导入到你的部分 zone。
zone 文件大小限制为 256 KiB(262144 字节)。
现有且已代理的记录不会被导入覆盖。 -
使用 Update DNS Settings 端点,将
secondary_overrides设为true,以启用 Secondary DNS Override。
-
使用 Edit Zone 端点,将
type设为secondary,以转换 zone 类型。你可以通过查询新分配的辅助名称服务器来验证它是否按预期响应。你可以在 DNS Records(DNS 记录) ↗ 页面找到名称服务器,它们应遵循类似
ns0123.secondary.cloudflare.com的格式。
# Replace ns0123 with your actual Cloudflare nameservers
dig example.com @ns0123.secondary.cloudflare.com- 在注册商处,更新名称服务器以指向 Cloudflare 名称服务器。
一旦先前 NS 记录的生存时间(TTL)过期,并且此信息从解析器缓存中清除,你的 zone 将被正确委派给 Cloudflare。为了更新 DNS 记录,你必须在后续步骤中配置 zone 传输。
- 从主 DNS 提供商处移除所有对
cdn.cloudflare.net的引用。你可以通过将步骤 1 中准备的同一 zone 文件导入到主 zone 来完成此操作。
- 在主提供商处启用法出 zone 传输,并在你的 Cloudflare 账户上创建 peer DNS 服务器。
要通过仪表板创建 peer server:
-
在 Cloudflare 仪表板中,前往账户 Settings(设置) 页面。
Go to Configurations ↗ -
前往 DNS Settings(DNS 设置)。
-
在 DNS Zone Transfers(DNS 区域传输) 下,对于 Peer DNS servers(对等 DNS 服务器),选择 Create(创建)。
-
输入以下信息,特别注意:
- IP:指定 Cloudflare 发送 transfer 请求的目标位置。
- Port(端口):指定 transfer IP 的端口。
- Enable incremental (IXFR) zone transfers(启用增量 (IXFR) 区域传输):指定 Cloudflare 是否除默认 AXFR 请求外还发送 IXFR 请求。
- Link an existing TSIG(关联现有 TSIG):如需要,关联你先前创建的 TSIG。
-
选择 Create(创建)。
要通过 API 创建 peer DNS server,请发送 POST 请求。
- 将你的 Cloudflare zone 链接到刚创建的 peer DNS 服务器。
-
在 Cloudflare 仪表板中,转到 DNS Settings(DNS 设置) 页面。
Go to Settings ↗ -
在 DNS Zone Transfers(DNS 区域传输) 下,选择 Manage linked peers(管理已关联的对等服务器)。
-
为 Zone refresh(区域刷新) 选择一个值,该值控制从主 DNS 服务器更新 zone 的间隔秒数。
-
选择你先前创建的 peer 服务器。如有需要,可以将多个 peer 服务器链接到一个 zone。
-
选择 Save(保存) 以确认。
使用 Update Secondary Zone Configuration 端点 将你的 Cloudflare zone 链接到 peer DNS 服务器。
- 在 DNS Settings(DNS 设置) ↗ 页面,确认链接的 peer 列在 DNS Zone Transfers(DNS 区域传输) 下,然后选择 Initiate zone transfer(发起区域传输)。或者,你可以使用 Force AXFR 端点。