【问题标题】:Dynamic subdomain redirection动态子域重定向
【发布时间】:2013-08-09 09:16:54
【问题描述】:

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

*.example.com to *.example2.com

Zerigo 可以解决这个问题吗?

【问题讨论】:

    标签: dns zerigo


    【解决方案1】:

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

    例如,您的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 服务器。

    【讨论】:

      【解决方案2】:

      在 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 支持。这意味着如果该功能尚不存在,您可以自己添加。

      祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 1970-01-01
        • 2018-03-08
        • 2015-03-28
        • 2018-06-17
        • 2011-09-03
        相关资源
        最近更新 更多