求助:Firefox忽略Ubuntu 16.04 hosts文件配置问题
解决Ubuntu 16.04下Firefox忽略hosts配置的问题
这种情况我在大学用代理环境时也碰到过——系统层面的域名解析已经正常,但Firefox就是不按hosts来解析。核心原因大概率是Firefox的代理设置或自身DNS缓存和系统不一致,给你一步步排查解决方案:
1. 让Firefox对目标域名跳过代理
因为你用了HTTP代理,Firefox可能会优先通过代理服务器解析域名,直接绕过本地hosts。这时候需要给目标域名设置代理排除规则:
- 打开Firefox,点击右上角菜单 → 设置 → 滚动到底部找到网络设置 → 点击设置按钮
- 如果当前选的是「使用系统代理设置」,可以切换到「手动配置代理」(保持其他代理参数和系统一致即可)
- 在「不使用代理的地址」输入框中添加
mail.com(已有其他地址的话用逗号分隔) - 点击确定后重启Firefox,再访问
mail.com试试
2. 清除Firefox本地DNS缓存
Firefox会单独缓存域名解析结果,哪怕你改了hosts,它可能还在沿用旧缓存:
- 在Firefox地址栏输入
about:networking#dns并回车 - 找到「DNS缓存」区域,点击清除DNS缓存按钮
- 关闭Firefox重新打开,再次访问目标域名
3. 排查代理服务器的缓存问题
如果上面两步都没用,可能是你的HTTP代理服务器本身缓存了mail.com的旧IP:
- 暂时关闭Firefox的代理设置(如果大学环境必须用代理上网,可以用终端命令测试:
curl --noproxy mail.com http://mail.com) - 如果直接访问能跳转到正确IP的站点,说明是代理服务器的问题。你可以联系网管在代理服务器上更新
mail.com的hosts配置,或者保持Firefox的代理排除规则即可
4. 确认Firefox未启用DNS over HTTPS
虽然Ubuntu 16.04默认的Firefox版本大概率没开DoH,但还是可以检查一下:
- 在Firefox地址栏输入
about:config,点击「我接受风险并继续」 - 搜索
network.trr.mode,如果值是2或3,说明启用了DoH(会绕过本地hosts) - 将值改成
5(禁用DoH),重启Firefox后测试
按这个流程走下来,基本能解决Firefox忽略hosts的问题。
内容的提问来源于stack exchange,提问作者Sai Chaithanya Adapa
相关产品推荐
相关产品推荐

