我正在将我的 Web 应用程序移动到另一台服务器,并在接下来的几天内刷新 DNS 以指向新的 IP 位置。
不幸的是,一些浏览器和 SO 保留了 DNS 缓存,这将使用户指向旧的 IP 位置。有些用户是新手,他们不会手动刷新 DNS 缓存,我知道在这次更改后的头几周内我们会失去很多用户。
是否有办法强制刷新此 DNS 缓存,以便它对我们的最终用户来说是透明的?
据我所知,像这样的强制更新是不可能直接实现的。如果您的名称服务器服务提供商允许,您可以通过在更改条目之前减少条目的 TTL(生存时间)值来减少 DNS 停机时间。
这里有一个 轻松进行 DNS 更改的指南。
不过,一个公平的警告 - 并非您的客户端和权威(原始)名称服务器之间的所有名称服务器都会强制执行您的 TTL,它们可能有自己的缓存时间。
没有可靠的方法可以强制用户清除 DNS 缓存,这通常是由 ISP 在操作系统之上完成的。更新的 DNS 传播时间不应超过 24 小时。最好的选择是通过使用 mod_proxy 之类的 Apache 来创建新服务器的反向代理,从而使用户能够无缝过渡。这将导致对旧服务器的所有查询仍然返回正确的结果,几天后您就可以随意删除反向代理。
您无法强制刷新,但您可以将所有旧 IP 请求转发到新 IP。 对于网站:
将 [OLD_IP] 替换为旧服务器的 ip
将 [NEW_IP] 替换为新服务器的 IP
奔跑并获胜。
回显“1”> /proc/sys/net/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 --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 更新之前使邮件正常工作。 如果有人想聊天请给我留言。
手动清除缓存的 DNS 记录 以下三个网站将帮助您清除以前缓存的 DNS 记录,以加快全球速度。只需访问每个站点并运行清除缓存即可:
来源:https://gridpane.com/kb/speeding-up-dns-propagation-manually-clearing-out-cached-records/
可以完全删除区域记录,然后完全按照您的需要重新创建它。也许这将迫使全面传播。如果我错了,请有人告诉我,我会删除此建议。另外,我不知道如何保存区域记录并使用 WHM 或任何其他工具重新创建它。
我确实知道,当我今天删除托管帐户并重新创建它时,原始区域记录似乎立即从我的计算机传播到线路上的 DNS 解析器。这是它有效的良好证据。