DNS 传播时间解决方法?

DNS propagation time workaround?

我们正准备将我们的网站从一个主机迁移到 AWS,这意味着我们需要更改我们域的 IP,这需要时间来传播。 DNS 检查器报告该域的 TTL 3600,这还不错。但是,由于缓存的原因,可能需要更长的时间或者在那段时间人们会访问旧服务器。 我们已经意识到,对域注册商级别的任何更改都需要时间,而且可能不是一个好的解决方案。降低 TTL 也需要时间(即使注册商甚至不允许)。更改 NS 也需要时间,而且人们可能仍会访问旧服务器。更改域注册商将需要很长时间才能完成。

问题是如何在 DNS 传播期间将访问旧服务器的人重定向到新 server/IP? 有没有办法通过在旧服务器级别使用某种本地服务器 DNS 或 Apache 重定向到新 IP/server?

假设您有:

www.example.com CNAME web.oldisp.com

您正前往:

www.example.com CNAME node123.aws.com

如果您设置第二条(新)记录,请说:

www-aws.example.com CNAME node123.aws.com

然后将到达web.oldisp.com(地址为www.example.com)的所有流量重定向到www-aws.example.com,然后请求将被发送到正确的地方。唯一的问题是位于 node123.aws.com 的服务器是否会响应发往 www-aws.example.com 的请求,以及响应是否包含对 www.example.com 的引用。您可以在您的主机文件中添加一个条目来对此进行测试。

切换后保持这种状态一天左右,然后您只需要担心可能已将 www-aws.example.com 添加为书签的任何人 - 然后您添加重定向规则以重定向任何此类流量至 www.example.com

就我个人而言,我不需要做所有重命名和添加不同 DNS 记录的事情,就是将两个站点都保留在原地。旧的和新的。

将新服务器设置为可以接收流量。 在晚上执行此操作,我更新 OLD server 上的数据库配置文件以使用 IP 地址指向新的数据库服务器。 (如果需要,我可以花几分钟建立一个新的维护页面。)但通常这是即时的。不要忘记从旧服务器 IP 授予新数据库访问权限。 然后新的数据库服务器实际上正在处理所有当前的流量。如果他们访问了旧站点。

然后在几天前降低了TTL后,在DNS中的A记录中切换我的IP。 虽然传播发生在 10 分钟内。访问任何一个站点都无关紧要,因为所做的任何事情都是使用新的数据库服务器,并且一旦所有 DNS 服务器赶上来,就会无缝地转到新服务器。 24 小时的时间应该足以让两者保持同步。