强制 Web 浏览器在本地解析 DNS

wes*_*s91 7 firefox dns proxy

我想知道是否可以在我的计算机上本地进行 DNS 解析,而不是在代理服务器上进行。换句话说,我可以让我的网络浏览器尊重我的主机文件或类似的东西吗?我试过network.proxy.socks_remote_dns在 Firefox 中禁用但没有成功。

Mal*_*ous 1

不幸的是,它实际上并不是这样工作的。

如果您没有代理服务器,浏览器将进行 DNS 查找(hosts首先检查您的文件),然后直接连接到返回的 IP 地址。

如果您使用代理服务器,则整个 URL 会传递到代理服务器,因此代理服务器会提取主机名并执行 DNS 查找。

即使您以某种方式让浏览器进行 DNS 查找,它也会像http://1.2.3.4/代理服务器一样传递一个 URL,这与使用真实主机名的处理方式不同 - 例如,Host:在 HTTP 请求中将设置错误的标头Web 服务器,就像您http://1.2.3.4/在浏览器中访问而不使用代理一样。

不幸的是,如果您想要覆盖主机名并仍然使用 HTTP 代理服务器,则必须hosts在代理服务器本身上编辑该文件。您也可以通过使用 SOCKS5 代理而不是 HTTP 代理来实现此功能,因为 SOCKS5 的级别较低 - 但现在找到 SOCKS 代理服务器的情况也很罕见。