將主域和部分子域委託給不同的名稱伺服器
假設我有:
帶有名稱伺服器集的註冊
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.
(在註冊商的配置中)NS
DigitalOcean 中的記錄:NS myapp.tld ivy.ns.cloudflare.com. NS *.myapp.tld ivy.ns.cloudflare.com. NS foo.myapp.tld ns1.digitalocean.com.
會按什麼順序解決?
foo
萬用字元之前的子域?
A
CF 和 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
,因為後者本身不可註冊。