Chrome会缓存DNS记录,并且在成功连接到我的网站后会忽略对hosts文件的更改(禁止重新启动)。启用DNS预取后,它甚至更加明显。
是否有任何页眉会指示Chrome不要缓存网站的DNS?与Cache-Control
或307 Temporary Redirect
的响应状态一样?
答案 0 :(得分:6)
我不确定这是否正是您正在寻找的东西,但这也让我感到烦恼的是切换开发环境,我偶然发现了这个内部的chrome页面,只需点击一下按钮即可清除缓存: 铬://净内部/#DNS
然后单击清除主机缓存。这不是自动的,但嘿,这是什么。
另请注意,操作系统可能会执行自己的缓存级别。 Linux不会缓存我认为的dns条目(至少对我来说清除chrome缓存已经足够了),但对于Windows或mac,您可能还需要刷新操作系统级别的DNS缓存。从Windows的命令行运行ipconfig /flushdns
或从mac的命令行运行sudo dscacheutil -flushcache
。
答案 1 :(得分:4)
这可能是Google Chrome中的一个真正的错误。我创建了http://crbug.com/65570来跟踪它,但请将您可以想到的任何其他信息添加到错误中,以便我们确保正确理解您的问题。
听起来好像除了关闭Chrome之外唯一的解决方法是拔掉网络电缆,然后重新插入。当Chrome看到这样的事件时,它会丢弃它的套接字和dns缓存。当我们看到/ etc / hosts已经改变时,错误的正确解决方案可能会这样做。
如果您想知道修复错误的时间,请转到http://crbug.com/65570,然后点击错误编号旁边的星标。而且,就像我说的那样,请向bug添加任何其他信息。
答案 2 :(得分:2)
在我的情况下,我经常使用自定义主机文件从我的开发Web服务器和生产服务器切换,以便从chrome清除所有dns缓存信息我使用此过程,它立即在我需要的同一选项卡中工作加载更新的网站地址:
答案 3 :(得分:0)
我没有任何真正要添加的内容,只是因为我修改了/ etc / hosts以达到我的开发环境,所以这真的让我无法进行Web开发。