Firefox使dns缓存无效

Firefox使dns缓存无效,firefox,dns,browser-cache,Firefox,Dns,Browser Cache,我在访问客户服务器上设置的站点时太快了,Firefox现在记住了默认站点(例如) 是 后来我设置了公共DNS(a-record)以重定向到另一台服务器,但Firefox会记住默认的IP地址 Chrome/IE/Safari-没问题,因为他们在DNS启动之前没有访问过该站点 我在about:config中设置了这些: network.dns.disablePrefetch = true network.dnsCacheExpiration = 0 还有别的吗 我真的需要firebug在那个网站上

我在访问客户服务器上设置的站点时太快了,Firefox现在记住了默认站点(例如)

后来我设置了公共DNS(a-record)以重定向到另一台服务器,但Firefox会记住默认的IP地址

Chrome/IE/Safari-没问题,因为他们在DNS启动之前没有访问过该站点

我在about:config中设置了这些:

network.dns.disablePrefetch = true
network.dnsCacheExpiration = 0
还有别的吗

我真的需要firebug在那个网站上调试前端

干杯

我使用“清除最近历史记录\缓存”解决方案已经有一段时间了,但我注意到它在一次firefox更新(可能是20.0.1)后停止工作。正因为如此,我已经切换到插件来进行DNS清除。我希望这将帮助有同样问题的人

编辑:根据Haozhun的建议更改url


Edit2:不幸的是,从Firefox32开始,这个插件不再兼容,无法使用。可能可以替换它。

DNS缓存发生在多个级别: 应用程序请求本地系统, 请求本地配置的解析DNS服务器, 这要求权威DNS服务器

应用程序的缓存不同。
  • 我发现在Firefox中,退出和重新启动都是有效的。
    about:config
    中的相关设置是
    network.dnsCacheEntries
    network.dnscacheexption
    ,可以将其设置为
    0
    ,以禁用缓存
本地系统的缓存通常为1小时。
  • 诊断:ping与其他应用程序一样,使用本地系统DNS缓存
  • 刷新MacOsX 10.8:
    sudo killall-HUP MDnsrresponder

    (其他版本可能有所不同)
  • 刷新窗口:
    ipconfig/flushdns
    (仅当DNS缓存服务
    HKLM\SYSTEM\CurrentControlSet\Services\Dnscache
    已启用时;使用
    net start | findstr/i DNS
    compmgmt.msc
    检查)
  • Linux/Unix可以使用
    nscd
    (名称服务缓存守护进程)或
    dnsmasq
    ,或两者都使用
本地解析DNS服务器的缓存可能会运行几天,具体取决于与DNS记录关联的TTL。
  • 诊断:
    nslookup
    首先报告解析服务器的地址,然后报告请求的地址
  • 刷新绑定:
    rndc Flush
    rndc flushname域。名称

TTL代表“生存时间”,该术语用于描述请求客户端或服务器认为DNS记录有效的时间。短TTL表示请求者被告知不要将DNS查找缓存太长时间。TTL的范围从几秒钟(例如,对于DynDNS和类似的)到几天或几周。

安装插件DNS Flusher,它对我有效。

以下方法在某些时候有效,但目前不起作用(执行所有这些方法都不起作用):

  • 重新启动浏览器
  • 清除浏览器缓存
  • 设置
    network.dnscacheexpntiation=0
  • ipconfig/flushdns

但是,您可以打开一个新的私有窗口,私有窗口显然没有使用与常规窗口相同的DNS缓存(这是令人欣慰的)。

我发现仅
network.dnscacheexpatition=0
并不能完全起作用,但是如果您还设置了
network.dnsCacheEntries=0
,则DNS缓存将被永久禁用。因此:

network.dnsCacheEntries = 0
network.dnsCacheExpiration = 0

啊。。。。愚蠢的我。。。。我试过了,但是勾选了所有内容,除了网站特定的设置,因为我想保留其他内容的cookie/历史记录……但没有注意到缓存。现在一切都好了。如果要接受应答,请添加应答如果您在本地编辑了DNS设置,并且浏览器中的结果与nslookup的结果不一致,请确保您在正确的位置更改了DNS设置。在我的例子中,我通过PPPoE连接到互联网,无线路由器处于桥接模式,我在无线连接设置中设置了DNS服务器,nslookup开始使用新服务器,但是浏览器忽略了它们并继续使用ISP提供的DNS,直到我在PPPoE连接设置中更改了DNS服务器。顺便说一句,Firefox不会将DNS解析缓存到磁盘,并且有一个菜单可以检查内存缓存:我还尝试了“清除最近的历史记录”→ “☑ “缓存”,我可以确认Firefox 20.0实际上没有响应DNS。我一路刷新所有缓存(刷新,在我的OpenWrt路由器上重新启动
dnsmasq
),我确信正确的DNS解析已经传播到最后一跳,因为
dig[hostname]
返回正确的答案。我很确定它曾经奏效,所以也许这是一种回归,或者只是来自Mozilla的另一个“好主意”。无论哪种方式,都不需要加载项来刷新DNS.P.s。感谢您找到插件,但我希望Firefox 20.0及更高版本中有一种内置的刷新DNS缓存的方法。感谢您分享最新的解决方案。请在您提供的url中用
en-US
替换
pl
?我相信这样的修改会有帮助。只清除“缓存”刷新的DNS对我来说,所以这可能再次是最好的解决方案。当然,我们现在使用的是42版。DNS冲洗器与Firefox不兼容Quantum@user1981275事实上,它确实为问题中提到的问题提供了解决方法,因此我认为没有理由删除它。我们必须安装一个加载项来刷新DNS缓存,这有点可笑。。“清除缓存”功能应能做到这一点:(@jamestheaweesomedude:通过设置
网络来禁用FF内部DNS缓存。DNSCAcheExpatition=0
…我不确定这是否有助于解决我的问题,但到目前为止我没有再次遇到它。关闭和打开Firefox对我有帮助,thanks@jaywink:没用。当然这可能会有帮助,但如果这是治疗方法,我宁愿换一种方法
network.dns.disablePrefetch = true
network.dnsCacheExpiration = 0
network.dnsCacheEntries = 0
network.dnsCacheExpiration = 0