![强制浏览器清空 DNS 缓存](https://linux22.com/image/664691/%E5%BC%BA%E5%88%B6%E6%B5%8F%E8%A7%88%E5%99%A8%E6%B8%85%E7%A9%BA%20DNS%20%E7%BC%93%E5%AD%98.png)
因此,我将 mediawiki 网站迁移到新服务器。旧服务器仍在运行,但数据库已锁定,我每 15 分钟使用 rsync 和 mysqldump 合并新内容。这样我们就可以从旧 IP 读取内容。
现在我更改了域的 A 记录以指向新服务器。 3 小时后,当我使用清除缓存的浏览器时,我已进入新服务器。
但是,当我使用未清除缓存的浏览器时,我会进入旧服务器。
如何告诉浏览器它应该清除其 DNS 缓存,或者 IP 已发生变化?
答案1
你不能告诉互联网上随机用户的浏览器清除缓存;事情不是这样做的。对于下一个时间,请记住在转换发生之前的某个时间将 A 记录上的 TTL 减少到某个合适的小值(例如“五分钟”);至少与之前的 TTL 一样长。这将限制行为良好的互联网公民缓存的时间,并且转换将顺利而快速地完成。一旦发生更改并且经过了足够的时间,TTL 就可以切换回更长的时间。
答案2
下次,请记住在转换发生前将 A 记录上的 TTL 减少到某个合适的小值(例如“五分钟”);至少与之前的 TTL 一样长。这将限制行为良好的互联网公民缓存的时间,并且转换将顺利而快速地完成。
即使提前做好了这件事(使用 NetSol),我们收到用户报告称,他们仍然登陆旧的“网站”,而该网站现在只是一个自定义错误页面。顽固的浏览器!
但让访问者尝试使用不同的浏览器似乎是最简单的解决方案,即使对于最没有经验的用户来说也是如此。