将主域名和部分子域名委托给不同的名称服务器

将主域名和部分子域名委托给不同的名称服务器

假设我有:

  • 注册myapp.tld域名并ns.some.tld设置名称服务器
  • DigitalOcean 液滴:
    • foo.myapp.tld
    • bar.myapp.tld
  • Cloudflare 区域:
    • myapp.tld
    • es.myapp.tld
    • de.myapp.tld
    • 其他特定语言的子域名

我需要 DigitalOcean 作为主要名称服务器,并将部分区域(包含根域,这里最有疑问)委托给 Cloudflare。

我应该如何设置名称服务器和 DNS 记录来实现这一点?类似这样的方法可行吗:

  • 名称服务器设置为ns1.digitalocean.com.(在注册商的配置中)
  • NSDigitalOcean 中的记录:
    NS myapp.tld ivy.ns.cloudflare.com.
    NS *.myapp.tld ivy.ns.cloudflare.com.
    NS foo.myapp.tld ns1.digitalocean.com.
    
    按照什么顺序来解析?foo先子域名再通配符?
  • ACF 和 DO 中用于处理受支持的主机名的记录

提前致谢。我是 DNS 方面的新手,我需要迁移一个具有与上述结构类似的应用程序。

答案1

总的来说,我怀疑这个问题是出于某种误解。
你有什么理由要像这样在两个 DNS 服务之间进行拆分吗?

DNS 是一棵树,其中区域由父区域定义,父区域将该区域内的某个名称委托给一组名称服务器,新区域
从这里开始。您不能在自己的区域内委托区域的顶点。如果您希望将区域委托给其他地方,您首先不会将区域放在其他地方,而是根据区域的实际位置更改父区域中的委托。

即,如果您有区域,myapp.example您可以从您的区域内委派foo.myapp.example(这意味着foo.myapp.example它下面的所有内容都是新区域),但不能委派myapp.example它自己(这必须从父区域完成)。

从您的描述来看,我的印象是您实际上想要的是委托myapp.example给 Cloudflare,然后再委托foo.myapp.example给 DigitalOcean。这在技术上是可行的,而且如果委托给 DigitalOcean 确实有用的话,这确实有意义。

但是,我甚至会质疑这种设置,因为不清楚委托给 DigitalOcean 是否有任何用途。
您可能只需要委托myapp.example给 Cloudflare 就可以了。您通常不需要在 DNS 中进行委托,因为您对不同的主机使用不同的托管服务提供商等。
您只需在 Cloudflare 端添加例如地址记录 ( A/ AAAA),引用您的 DigitalOcean 主机的地址,例如foo.myapp.example解析到 DigitalOcean 主机。

原始计划中,提供商特有的进一步复杂化是 Cloudflare 仅允许您在其系统中设置可注册域名(根据政策,这不是固有的技术限制)。因此,您可以myapp.example在 Cloudflare 中设置域名,但不能设置域名test.myapp.example,因为后者本身不可注册。

相关内容