我正在将我的Web应用程序移动到另一台服务器,在接下来的几天内,我将刷新DNS以指向新的IP位置。
不幸的是,某些浏览器和SO会保留一个DNS缓存,使用户可以指向旧的IP位置。有些用户是新手,他们不会手动刷新DNS缓存,我知道在这次更改后的最初几周我们会丢失很多。
是否有强制此DNS缓存刷新,以便它对我们的最终用户透明?
答案 0 :(得分:35)
据我所知,像这样的强制更新是不可能的。如果您的名称服务器服务提供商允许,您可以通过在更改条目之前减少条目的TTL(生存时间)值来减少DNS停机时间。
这是guide for less painful DNS changes。
虽然公平警告 - 并非客户端和权威(源)名称服务器之间的所有名称服务器都会强制执行您的TTL,但它们可能有自己的缓存时间。
答案 1 :(得分:13)
没有保证强制用户清除DNS缓存的方法,并且通常由他们的ISP在其操作系统之上完成。更新的DNS传播不应超过24小时。您最好的选择是通过使用mod_proxy和Apache之类的东西向用户创建无缝过渡,以便为新服务器创建反向代理。这将导致对旧服务器的所有查询仍然返回正确的结果,几天后您可以自由删除反向代理。
答案 2 :(得分:10)
您无法强制刷新,但您可以将所有旧的IP请求转发给新的。 对于一个网站:
用旧服务器的ip替换[OLD_IP]
用新服务器的ip替换[NEW_IP]
run&取胜。
echo“1”>的/ proc / SYS /净/的IPv4 / IP_FORWARD
iptables -t nat -A PREROUTING -d [OLD_IP] -p tcp --dport 80 -j DNAT - to-destination [NEW_IP]:80
iptables -t nat -A PREROUTING -d [OLD_IP] -p tcp --dport 443 -j DNAT - 到目的地[NEW_IP]:443
iptables -t nat -A POSTROUTING -j MASQUERADE
答案 3 :(得分:0)
因此,如果问题是您刚刚创建了一个网站,并且您的客户或任何给定的ISP DNS都已缓存,并且尚未显示新网站。是的所有其他东西都适用于ipconfig重置浏览器等。但这是一个想法和我不时做的事情。您可以在NIC属性的tcpip属性中设置备用网络ISP的DNS。因此,如果您的ISP说telstra并且它没有传播或更新,您可以在那里指定备用服务提供商dns。如果那个isp dns在您的原生之前更新,那么您将会看到新的网站。但是,在DNS更新之前,您可以采取许多其他技巧来确定传播并使邮件正常工作。 如果有人想聊天,请给我打电话。
答案 4 :(得分:-1)
如果您的两台服务器都使用WHM,我认为我们可以将时间减少到零。在新服务器中创建您的域并准备好所有内容。转到上一个服务器并删除该域对应的帐户。到目前为止,通过这样做我没有错误,并立即感受到更新。仅供参考我使用hostgator托管(两个专用服务器)。 我真的不知道为什么会这样。在TTL结束之前,它应该不是那样的。
答案 5 :(得分:-1)
可以完全删除区域记录,然后根据需要重新创建区域记录。也许这将迫使全面传播。如果我错了,有人告诉我,我会删除这个建议。此外,我不知道如何保存区域记录并使用WHM或任何其他工具重新创建它。
我知道当我今天删除主机帐户并重新创建它时,原始的区域记录似乎会立即传播到我的计算机上的DNS解析器。这是有效的证据。