Domain-Name-System

將主域和部分子域委託給不同的名稱伺服器

  • October 3, 2020

假設我有:

  • 帶有名稱伺服器集的註冊myapp.tldns.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 方面的新手,我需要遷移一個結構與上述類似的應用程序。

總的來說,我懷疑有一些誤解導致了這個問題。

您是否有任何理由要像這樣在兩個 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,因為後者本身不可註冊。

引用自:https://serverfault.com/questions/1035985