![添加托管在其他地方的子域名](https://linux22.com/image/516598/%E6%B7%BB%E5%8A%A0%E6%89%98%E7%AE%A1%E5%9C%A8%E5%85%B6%E4%BB%96%E5%9C%B0%E6%96%B9%E7%9A%84%E5%AD%90%E5%9F%9F%E5%90%8D.png)
我对 DNS 不太熟悉,所以这可能很简单。
我们的主要域名 foo.com 托管在提供商 A 处。现在,我们想在其他提供商 B 处托管 bar.foo.com - 他们已经在他们那里设置了域名,所以我认为我可以通过某种方式将提供商 B 处的名称服务器添加到提供商 A 处的 DNS 配置中来实现这一点。
当前 DNS 配置如下:https://i.stack.imgur.com/2myDE.png
如何将新的子域添加到此配置中?
笔记: 或许共享主机提供商是一个更准确的术语。提供商 B 是 discountasp.net - 我知道他们的名称服务器地址,只是不确定如何将它们添加到我的原始设置中。
答案1
如果您拥有 bar.com 并将 bar.com 的 DNS 放置在一台服务器上,那么您可以根据需要将 foo.bar.com 的解析委托给另一台 DNS 服务器,如下所示:
; zone bar.com
@ IN A 192.168.1.20
www IN A 192.168.1.20
foo IN NS ns1.other-dns-server.com.
foo IN NS ns2.other-dns-server.com.
然后,另一个 DNS 服务器(位于 ns1/2.other-dns-server.com)可以拥有 foo.bar.com 的权威区域。请求foo.bar.com
将委托给其他提供商:
; zone foo.bar.com
@ IN A 192.168.1.50
通过此设置,bar.com
将解析为192.168.1.20
,www.bar.com
将解析为192.168.1.20
,foo.bar.com
将解析为192.168.1.50
。
当然,我在这里使用非路由 IP 地址是为了举例,您可以用任何必要的 IP 地址替换它们。
希望这能回答您的问题,但如果我误解了您要做的事情,请在评论中告诉我。
答案2
您的建议行不通。您需要在相同的 DNS 服务器上设置所有 DNS 条目,即对域具有权威性的 DNS 条目。每个托管公司可能各有一个,但每个都需要有匹配的条目,因为任何 DNS 请求都可能发送到其中任何一个。因此,虽然您可以如果同时使用两个主机,那么这样做是非常不明智的,尤其是因为它需要做的工作远远超过维护的成本。
答案3
您想要完成的任务是可以完成的,但您提出的执行方向偏离了轨道。就像 John Gardeniers 所说的那样,DNS 记录需要相同... 两个提供商都可以托管 DNS(如果他们愿意的话),但所有记录都需要匹配。
您可以做的是设置记录,以便 domain.com 和/或 x.domain.com 的托管在一个地方完成,而 y.domain.com 在另一个地方完成。但是,您需要了解 DNS 托管和域托管之间的区别。任何一个地方或两者或您的注册商或第三方都可以托管 DNS。DNS 只是一个查找名称并匹配服务器地址的系统。单个资源(在您的情况下为子域)可以拥有自己的唯一记录,以找到托管的位置。
从概念上讲,这有意义吗?如果主域名已设置并正常工作,则应该像为子域名添加另一个 A 记录一样简单,指向托管它的第二个提供商,类似于:
subdomain.domain.com. 在 12.34.56.78
显然,您将需要子域所在的 IP,并且该 IP 上的服务器需要知道如何处理针对该子域的请求。