解决:SwitchHosts修改 hosts 不生效(超全方法)

问题:本机MacOS,使用 SwitchHosts 修改 hosts 后,Chrome 访问修改后的地址,报错502,无法访问。

解决:

  1. 先 ping 修改后的地址,看域名解析的 ip 是否也是修改后的,如果不是,则考虑 SwitchHosts 问题,可使用sudo vim hosts命令修改 hosts 文件;

   如果域名解析是修改后的正确地址,那么就侧重排查浏览器问题。

  2. 针对于浏览器:

    2.1 服务器请求头设置了keep-alive:一般的网页都会设置 keep-alive,客户端会跟服务器保持长连接,避免多次连接产生网络消耗,只要长连接不断开,页面在请求的时候就不会重新解析域名。因此可以尝试:1. 重启浏览器;2. 打开隐私模式;3. 等待keep-alive失效

    2.2 浏览器存在DNS缓存:需要手动清除浏览器缓存,以 Chrome 为例:在搜索栏输入chrome://net-internals/#dns,点击clear host cache即可

    2.3 系统存在DNS缓存:需要手动清除系统缓存,以MacOS为例:在终端输入以下命令即可(可参考:Reset the DNS cache in OS X

sudo killall -HUP mDNSResponder

  3. 关闭代理(这个很容易忽视,本人尝试了前两种方法没有解决,最后发现是代理问题)

  

posted @ 2023-03-13 23:18  UpZhou  阅读(2894)  评论(0编辑  收藏  举报