如何配置 DNS 以便 www.example.com 转到一台服务器,*.example.com 转到另一台服务器

Dav*_*rth 0 domain-name-system dreamhost

我正在尝试按如下方式设置我的域,但实际上我不确定是否可行。

我有一个域,我希望 base 和 www 地址转到我的静态站点,但其他人转到我的应用程序服务器。例如:

我的域是在 Dreamhost 上注册的,我的应用程序在 Webbynode 的 VPS 上。我在 Dreamhost 中设置了域以使用 Webbynode 的名称服务器:

ns1.dnswebby.com
ns2.dnswebby.com
ns3.dnswebby.com
Run Code Online (Sandbox Code Playgroud)

在 Webbynode 中,我设置了一个通配符 A 记录来指向我的 VPS 的 IP 地址:

*  1.2.3.4  A
Run Code Online (Sandbox Code Playgroud)

这很好用,如果我去 app.example.com,它会解析到我在 Webbynode 的应用程序服务器。

但是,我想要做的是让 example.com 和 www.example.com 转到我的静态站点,托管回 Dreamhost,同时仍然让任何其他域转到我的应用程序。我为尝试实现这一目标所做的是在 Webbynode 上设置这些 DNS“NS”条目,试图让 Dreamhost 解析这些域名:

(empty)  ns1.dreamhost.com  NS
(empty)  ns2.dreamhost.com  NS
(empty)  ns3.dreamhost.com  NS
www      ns1.dreamhost.com  NS
www      ns2.dreamhost.com  NS
www      ns3.dreamhost.com  NS
Run Code Online (Sandbox Code Playgroud)

(我在 Dreamhost 上没有固定的 IP 地址,所以我不能只设置简单的 A 记录)。

然而,这不起作用......有没有人知道这是否可能,如果可能,如何完成?

更新

我现在已经开始工作了,就像上面的域一样(即在 Dreamhost 上注册,但使用 Webbynode 的名称服务器)。为了将 www.example.com 的 DNS 委托给 Dreamhost,我设置了以下 DNS 条目:

www.example.com.      ns1.dreamhost.com.  NS
www.example.com.      ns2.dreamhost.com.  NS
www.example.com.      ns3.dreamhost.com.  NS
Run Code Online (Sandbox Code Playgroud)

(注意最后的句号)

为了让 example.com 解析到我的静态站点,我设置了 CNAME 记录:

example.com.   www.example.com.   CNAME
Run Code Online (Sandbox Code Playgroud)

所以现在,example.com 和www.example.com 转到我在Dreamhost 上的静态站点,如果他们更改了我的共享主机的IP 地址,它不会影响我,所有其他子域都转到我的应用程序服务器。

这似乎工作得很好,但如果有人知道更好的方法,我会很高兴听到它。

感谢所有回答的人。

Sam*_*eer 8

您需要区域文件中的以下 DNS 条目才能完成这项工作。通配符条目应该是最后一个。

example.com. A IP_ADDRESS_OF_STATIC_SERVER
www    A    IP_ADDRESS_OF_STATIC_SERVER
*      A    IP_OF_APP_SERVER
Run Code Online (Sandbox Code Playgroud)