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

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

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

答案1

不幸的是,事实并非如此。

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

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

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

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

相关内容