我相信我应该减少域中DNS的TTL,这样一旦我准备好进行切换,我需要做的就是更新分配给域名的域名服务器,流量将开始转移到新服务器.
如果我对该过程的理解是正确的,那么我应该在当前服务器上设置什么TTL?
我是否还需要在旧服务器上设置“刷新”,“重试”和“过期”值?如果是这样,他们应该怎么做?
谢谢
这是我的过程
www.blah.com托管服务提供商“hoster
www.blah.com的ns1记录为ns1.myFirstNameServer.net,其ns2记录为ns2.myFirstNameServer.net
我设置了一个新的名称服务器,ns记录为ns1.aNewNameServerIdecidedToBuy.net和ns2.aNewNameServerIdecidedToBuy.net – 它的IP指向当前“hoster”的当前服务器
我的名称服务器域(myFirstNameServer.net和aNewNameServerIdecidedToBuy.net)都在我们的dns设置中设置并驻留在我的注册器中 – 它的IP指向我新服务器的新“主机”
一旦我准备好进行切换,我将登录我的注册商并更改www.blah.com上的名称服务器设置,如下所示:
>从ns1.myFirstNameServer.net到ns1.aNewNameServerIdecidedToBuy.net
>从ns2.myFirstNameServer.net到ns2.aNewNameServerIdecidedToBuy.net
解决方法
在A和AAAA记录上设置的传统“低值”TTL是300(5分钟).
如果您可以在短时间内同时运行两台服务器,那么您可以比基于DNS的迁移做得更好.您可以将旧服务器设置为代理对新服务器的请求,以便仍与旧服务器联系的客户端将其请求转发到新服务器.使用ProxyPass的Apache很容易实现这一点.
稍后,如果要移动DNS主机,请更改NS记录并更改父区域中的委派(即在您的域的注册商处进行更改).如果您可以提前在新服务器中部署区域并让两组名称服务器都在域中服务一段时间,那么它是理想的选择.
编辑:有关ProxyPass的详细信息
这个Apache配置片段放在< VirtualHost>中.服务器部分,或者如果没有< VirtualHost>,则直接在服务器配置中,允许旧服务器将所有请求转发到新服务器:
<Location /> ProxyPass http://www.example.org/ </Location>
您通常应该使用ProxyPass进行ProxyPassReverse,但在这种情况下可以省略它,因为它不会产生任何影响,因为旧站点和新站点具有相同的ServerName.
您可能希望同时从旧服务器配置中删除任何其他< Location>,Alias,RewriteRule或其他URL映射指令,以确保代理规则和仅代理规则得到处理. (当然,请保留备份,以防您需要退出迁移!)
确保旧服务器知道网站域的正确新IP地址,否则它会将请求代理回自身!