如何强制Firefox立即重置其DNS缓存?

16

我在编码时使用hostnames来将某些主机名临时重定向到本地主机。

问题是Firefox缓存DNS条目的时间比我预期的要长(network.dnsCacheExpiration无效)。

如何强制Firefox按需重置其DNS缓存?

3个回答

26

被接受的答案对我来说不起作用。它清除了缓存页面,但没有清除DNS条目。

相反,我转到此URL:about:networking#dns,然后单击“清除DNS缓存”按钮。

恐怕我不记得在哪里学到这个,但那个按钮的存在非常清楚地表明Mozilla打算让你这样做。

为什么这很重要:我有时会修改我的hosts文件(Windows),然后在操作系统中刷新DNS(管理员命令提示符,ipconfig /flushdns)。第一次这样做通常有效,但是当我删除主机文件条目以返回真实地址时,Firefox没有进行更新,需要通过上述方式解决。


1
很棒的答案;我不知道about:networking和这个按钮,谢谢。 - kjones

3
发现了问题(将向Firefox提交错误报告)。
当启用“启用DNS over HTTPS”时,Firefox会忽略/etc/hosts中的条目。
这是一个很好的安全功能,可以强制执行DNS over HTTPS,但我认为localhost仍应该在本地解析。
已提交错误报告

2
根据mozilla支持论坛中jscher2000的this帖子所述:
“清除缓存应该会清除页面和DNS条目。”
另一种刷新DNS缓存的方法可能是将其设置为非常少的记录数:
(1)在新标签页中,键入或粘贴about:config到地址栏中并按Enter / Return。单击承诺小心或接受风险的按钮。
(2)在列表上方的搜索框中键入或粘贴dns,然后暂停,直到列表被过滤。
(3)双击network.dnsCacheEntries首选项,输入低值(例如5),然后单击“确定”。
(4)保留network.dnsCacheExpiration和network.dnsCacheExpirationGracePeriod的默认值(如果需要,可以右键单击>重置)。”
您可以通过在历史记录条目(“历史记录->显示所有历史记录”或“查看->侧边栏->历史记录”)的右键上下文菜单中使用“忘记此网站”来删除存储在Firefox中特定域中的所有数据。

谢谢!不确定为什么,但这些设置对我不起作用...尽管 network.dnsCacheExpiration 设置为 60,Firefox 仍然不遵循我在 /etc/hosts 中的条目。此外,我希望有一种按需清除缓存的方法。 - sunknudsen
1
发现了问题(请看我的答案)。感谢您的帮助! - sunknudsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接