Caching 如何强制网站的DNS刷新?

Caching 如何强制网站的DNS刷新?,caching,dns,Caching,Dns,我正在将我的web应用程序移动到另一台服务器,在接下来的几天里,我将刷新DNS以指向新的IP位置 不幸的是,一些浏览器和SOs保留一个DNS缓存,这将使用户指向旧的IP位置。有些用户是新手,他们不会手动刷新DNS缓存,我知道在更改后的头几周,我们会丢失很多用户 有没有办法强制此DNS缓存刷新,以便对最终用户透明?无法保证强制用户清除DNS缓存,这通常是由他们的ISP在操作系统上完成的。更新后的DNS传播不应超过24小时。您最好的选择是通过使用类似mod_proxy和Apache的东西来创建一个到

我正在将我的web应用程序移动到另一台服务器,在接下来的几天里,我将刷新DNS以指向新的IP位置

不幸的是,一些浏览器和SOs保留一个DNS缓存,这将使用户指向旧的IP位置。有些用户是新手,他们不会手动刷新DNS缓存,我知道在更改后的头几周,我们会丢失很多用户


有没有办法强制此DNS缓存刷新,以便对最终用户透明?

无法保证强制用户清除DNS缓存,这通常是由他们的ISP在操作系统上完成的。更新后的DNS传播不应超过24小时。您最好的选择是通过使用类似mod_proxy和Apache的东西来创建一个到新服务器的反向代理,从而无缝地过渡到用户。这将导致所有对旧服务器的查询仍然返回正确的结果,几天后您将可以自由删除反向代理。

据我所知,像这样的强制更新是不可能的。如果名称服务器服务提供商允许,您可以通过在更改条目之前减少条目的TTL(生存时间)值来减少DNS停机时间

这是一个例子


不过,这是一个公平的警告-并非客户端和权威(源)名称服务器之间的所有名称服务器都将强制执行您的TTL,它们可能有自己的缓存时间。

如果您的两个服务器都使用WHM,我想我们可以将时间减少到零。在新服务器中创建您的域并准备好所有内容。转到上一个服务器并删除与该域对应的帐户。到目前为止,我还没有通过这样做得到任何错误,并且感觉更新是即时的。仅供参考,我使用了hostgator主机(两个专用服务器)。
我真的不知道为什么会这样。在TTL结束之前应该不会这样。

您不能强制刷新,但可以将所有旧的ip请求转发到新的ip请求。 有关网站:

用旧服务器的IP替换[OLD_IP]

用新服务器的IP替换[NEW_IP]

跑赢

回送“1”>/proc/sys/net/ipv4/ip\u转发

iptables-t nat-A预路由-d[OLD_IP]-p tcp--dport 80-j DNAT--to destination[NEW_IP]:80

iptables-t nat-A预路由-d[OLD_IP]-p tcp--dport 443-j DNAT--to destination[NEW_IP]:443


iptables-t nat-A POSTROUTING-j MASQUERADE

因此,如果问题是您刚刚创建了一个网站,您的客户端或任何给定的ISP DNS都被缓存,并且还没有显示新的站点。是的,所有其他的东西都适用于ipconfig重置浏览器等。但这里有一个想法和我不时做的事情。您可以在NIC属性的tcpip属性中设置备用网络ISP的DNS。因此,如果您的ISP是telstra,并且尚未传播或更新,您可以在那里指定备用服务提供商dns。如果该isp dns在您的本地dns更新之前更新,那么您将看到新站点。但是,在dns更新之前,您可以使用许多其他技巧来确定传播并使邮件正常工作。
如果有人想聊天,请给我留言。

可以完全删除区域记录,然后完全按照您的意愿重新创建。也许这将迫使全面传播。如果我错了,有人告诉我,我会删除这个建议。此外,我不知道如何保存区域记录并使用WHM或任何其他工具重新创建它


我确实知道,当我今天删除了一个托管帐户并重新创建它时,原始区域记录似乎会立即从我的计算机传播到一个DNS解析程序。这很好地证明了它的有效性。

最接近的选项是永久移动301重定向,这只适用于域交换机。您无法强制用户清除DNS缓存,而且在许多情况下,即使用户愿意也无法清除DNS缓存(以及ISPs缓存)。如果可以的话,我能看到的最好的选择是临时将代理从旧服务器反向到新服务器,这样所有对该域的查询都将发送到新服务器。另一个好主意是在进行更改前几天降低DNS上的TTL。这将导致ISP更频繁地检查DNS更新,以便迁移更顺利。您应该将TTL设置为尽可能低的值(然后在进行更改后再增加一段时间)。Google允许您刷新DNS缓存:如果您无法访问DNS的TTL(许多托管服务器都是这种情况),这是一个完美的解决方案——如果旧服务器不需要在端口80上有一个Web服务器仍在运行……我如何恢复它?修改hosts.conf文件不是更容易吗?如果使用计算机进行NAT,在那里安装一个DNS服务器,然后再次修改hosts.conf?