0

如何将动态子域重定向到不同域上的相同子域?

*.example.com to *.example2.com

这可以用Zerigo处理吗?

4

2 回答 2

1

根据您的具体要求,您可以使用DNAME 记录来实现:

例如,您的example.com区域文件中可能包含以下内容:

example.com.   IN   DNAME   example2.com.

和一个相当标准的example2.com区域,你几乎可以达到效果。

查询dig www.example.com,你会得到:

example.com.      IN DNAME    exmaple2.com.
www.example.com.  IN CNAME    www.exmaple2.com.

但是,如果您在任何一个区域下都有您需要的 DNS 记录,例如AMXTXT记录,它们不会“别名”,因此您需要将它们存储在两个区域中。

在任何情况下,大多数 DNS 提供商(包括 Zerigo)都不支持 DNAME,它们只为您提供 Web 界面,因此您需要运行自己的 DNS 服务器。

于 2013-08-09T16:01:29.020 回答
0

在 DNS 中你不能重定向,这是一个 HTTP 功能。但是您可以做的是使用 CNAME。CNAME 采用 dns 名称,并在幕后将其解析为另一个名称。例如:

www.example.com 解析为 www.example2.com。在网络浏览器中,用户将看到 www.example.com。

您要做的是查看“通配符 CNAME”。不过有一个限制。通配符 CNAME 只会指向一个地址。这意味着:

*.example.com will only ever point to a single address at example.com2 (let's say you pick bang.example2.com)

foo.example.com -> bang.example2.com
bar.example.com -> bang.example2.com
baz.example.com -> bang.example2.com
cux.example.com -> bang.example2.com

还需要注意的是,并非每个 DNS 提供商都允许使用通配符 CNAME。此外,并非每个 DNS 服务器都允许使用通配符 CNAME。如果您真的想让通配符 CNAME 指向 example2.com 中的相应条目,那么您可能需要查看 powerDNS。它允许使用 lua 等各种语言编写的 3rd 方插件。它也可以由 mysql、postgress、ldap 或 sqlite 支持。这意味着如果该功能尚不存在,您可以自己添加该功能。

祝你好运

于 2013-08-09T13:21:03.540 回答