小樱 发表于 2023/4/25 17:31

Windows 11 bug hosts不起效果 导致比特彗星无法使用127.0.0.1作为服务ip,dns域名解析失败

Windows 11 bug hosts不起效果 导致比特彗星无法使用127.0.0.1作为服务ip,dns域名解析失败

Windows 11 里的 DnsQuery_A() 行为有变化,导致没有加载hosts 文件信息(目标地址为127.0.0.1)。需要使用 getaddrinfo() 的查询结果。

比特彗星里是优先用getaddrinfo(),如果结果是loopback地址就再用 DnsQuery_A() 查一次OpenDNS,目的是防止DNS污染。所以hosts返回127.0.0.1时候,Windows11下会变成双重查询,然后因为Windows 11自身bug 使用 DnsQuery_A() 查询时会导致结果异常,2.00版本会增加一个高级设置开关双重查询。

帖子补充
比特彗星用的系统api DnsQuery_A(),然后Windows11系统更新后,微软自身产生了一个bug,导致一些兼容性问题可能引起hosts不起效果,2.00下一版本会改成getaddrinfo()方式去查询域名
相关选项为:network.enable_open_dns

页: [1]
查看完整版本: Windows 11 bug hosts不起效果 导致比特彗星无法使用127.0.0.1作为服务ip,dns域名解析失败