我有一个关于设置服务器的查询。
假设我有多个网站来主持。
foo.com bar.com hello.com
我可能会或可能不会有特定的服务器。 假设一个任意的configuration是这样的(与各自的域名注册商)
foo.com A 1.1.1.1 bar.com A 1.1.1.2 hello.com A 1.1.1.1
我想给每个网站一个通用的域名来指向而不是IP(因为IP可以改变)。
如下所示。
foo.com CNAME service.com bar.com CNAME service.com hello.com CNAME service.com
从我所了解的DNS到目前为止,
最终,我想实现的是,如果我有一天从另一台服务器托pipehello.com,我只需要在服务器上修改一个地方,而不是告诉客户端更改他们的DNSconfiguration。
我使用rackspace,他们也有一些叫做反向DNS的东西。 这有用吗?
我注意到谷歌应用程序 – 我们总是指向ghs.google.com,他们转发请求到适当的IP。 所以这一定是可能的,但我不知道如何实现它。
你需要每个站点一个单独的cname。 就像是:
foot.com CNAME foo.com.service.com bar.com CNAME bar.com.service.com hello.com CNAME hello.com.service.com
为您拥有的域设置DNS
在Dreamhost上,确保名称服务器设置为Dreamhost名称服务器(它们应该是默认的)。 然后设置他们的DNS(应该有一个控制面板为域设置DNSlogging)。
一些信息
CNAME只是指向主机名; 这些主机名必须configurationIP地址(即必须有一个Alogging指向他们的IP)。
如果您需要将几个主机名映射到相同的IP,则可以更容易地设置一个主机名(A)指向该IP,然后将所有其他主机名CNAME设置为该主机名(A)。
如果您有几个主机名需要指向不同的IP地址,那么CNAME将不会太有用。
假设你有foo.com,bar.com,hello.com和service.com,你想把它们全部指向同一个IP(注意@ ceejayoz关于根域和CNAMES的评论)。 您需要设置一个Alogging以将主机名(例如service.com)指向IP,然后为www.bar.com,www.foo.com和www.hello.com设置CNAME以指向service.com。
这将要求您访问foo.com,bar.com,hello.com和service.com的DNSlogging(因此,如果您已经使用Dreamhost注册了所有这些域,则需要将它们全部configuration为使用Dreamhost名称服务器,然后为每个服务器设置DNSlogging。
具体回答你的问题
不过,您已经提到,您希望能够修改一个域的IP地址而不影响其他域; 在这种情况下,您需要为每个域名设置一个CNAME。 或者,您可以使用反向代理(尽pipe它增加了额外的复杂性)。 使用反向代理,您可以让所有域使用相同的IP,而不pipe它们在哪个服务器上(反向代理将根据请求的域将请求转发到正确的服务器上)。 这可能是Google Apps正在做的事情。
反向DNS不会帮助你,但是很有用(尤其是电子邮件传送)。 我现在不会进去,但是你应该阅读它!
请记住,您将无法将“CNAME”用于“example.com”等二级域名,因为它们必须具有SOA RR。
每个服务器需要一个Alogging。 (使用标准文档数据。)
host1.example.com. A 192.0.32.11 host2.example.com. A 192.0.32.12
然后,您可以使用CNAMElogging将服务器指向适当的服务器。 我按照你的地址拆分主机。
www.foo.com. CNAME host1.example.com. www.bar.com. CNAME host2.example.com. www.hello.com. CNAME host1.example.com.
在您的服务器上使用Web服务器中的虚拟主机定义来定义可用的网站。 定义未使用的虚拟主机没有重大的损失,所以您可以在多个服务器上设置网站,但只能为其中一个提供DNSlogging。
如果你想处理像foo.com那样需要多个DNSlogging的域名。 你需要使用Alogging。 有几种方法可以做到这一点。 有一个与服务域的主机具有相同地址的Alogging。
foo.com A 192.0.32.11 bar.com A 192.0.32.12 hello.com A 192.0.32.11
另一种方法是使用服务器将域redirect到他们的www子域。 这可以与上面的一个或多个主机相同。
foo.com. A 192.0.32.5 bar.com. A 192.0.32.5 hello.com. A 192.0.32.5
认真考虑为foo.bar这样的域设置MXlogging。 还要考虑两个版本的域的SPF。 如果你的邮件服务器是mail.example.net这些logging应该工作(SPFlogging是可选的,可能不被旧的DNS服务器接受):
foo.bar. MX 10 mail.example.net. foo.bar. TXT 'v=spf1 mx -all' foo.bar. SPF 'v=spf1 mx -all' www.foo.bar. TXT 'v=spf1 -all' www.foo.bar. SPF 'v=spf1 -all'
上面的SPFlogging表明,只有MX会发送域名为foo.bar邮件,并且没有邮件应该有域名www.foo.bar 。 对于不会产生电子邮件的域,从TXT和SPFlogging中删除mx。 有关更多详细信息,请参阅http://www.openspf.org或SPF文章。
请记住,域数据已被caching。 移动静态网站时,请将该网站留在旧主机上,直到stream量停止到达。 移动具有dynamic内容的网站比较困难。