我正在试用 CloudFlare。我托管自己的 DNS ( b.example
),并创建了一个独特的第三级区域 ( a.b.example
)。我将粘合记录放在b.example
区域中,并将区域设置a.b.example
在其自己的单独文件中。(我在 linux 机器上使用 BIND)。在 intodns.com 上对此进行测试会亮起绿灯(除了“警告:看起来父服务器在询问时没有您的 TLD 的信息。这没关系,但可能会令人困惑。”)
但是,当我尝试将此区域添加到 CloudFlare 的控制面板时,我得到:
Please ensure you are providing the root domain and not any subdomains (e.g., example.com, not subdomain.example.com) (Code: 1116)
我尝试了一些变体(a.b.example
在父、子或两个区域中设置 A 记录)而没有获得任何更改。
我正在尝试做的事情可能吗?我不想将整个 DNS 管理b.example
交给 CloudFlare。
您的总体目标的问题是 Cloudflare 只接受直接在公共后缀下的域名,这是他们的政策决定。(公共后缀如
com
,co.uk
等。即类似这个 list的东西,虽然我不知道这是否是他们操作的基础。)除了他们的合作伙伴可以选择使用基于 CNAME 的解决方案.
一般来说(忽略 Cloudflare 的细节),如果您将某个区域下的某些内容委托给其他人的名称服务器,那么您添加的只是
NS
记录。新区域应该存在于他们的名称服务器上,而不是您的名称服务器上(除非您专门将新区域委派给两者,在这种情况下,您需要确保该区域实际上通过 AXFR 或其他方式保持同步)。
即,如果您有
example.com
并且想要委托sub.example.com
给ns.other.example
您,请添加:到您的
example.com
区域。该区域
sub.example.com
将由控制该区域的人单独添加到ns.other.example
名称服务器上。显然 Cloudflare 不支持您想要实现的目标。他们似乎要求您直接从注册商级别委托给他们。
这似乎是他们支持网站上的相关帖子:https: //support.cloudflare.com/hc/en-us/articles/220981767-Can-I-add-a-subdomain-on-Cloudflare-。
我不能完全理解您的解释,但是对于初学者来说,当您委派子域时,您不会在自己的名称服务器上为其创建区域文件。
将子域委派给不同的名称服务器(Cloudflare 或其他任何人的)就像在区域中为您的域创建必要的 NS 记录一样简单,这些记录指向您分配的名称服务器:
这就是您需要在您自己的区域、您自己的名称服务器上做的所有事情。
然后在 Cloudflare 控制面板中创建该
a.example.com
子域中的所有记录,例如*.a.example.com 或 APEX a.example.com 的A
、MX
等CNAME