我拥有一台由 namecheap.com 提供的运行 Debian 7 的专用服务器。
由于我目前正在欧洲度假,并且由于地理限制而无法访问我需要的一些服务,所以我想尝试在上述专用服务器上设置个人 Squid3 代理。
正如所讨论的这个问题和这篇博文我修改了squid.conf如下:
follow_x_forwarded_for deny all
forwarded_for delete
via off
header_access From deny all
header_access Server deny all
header_access WWW-Authenticate deny all
header_access Link deny all
header_access Cache-Control deny all
header_access Proxy-Connection deny all
header_access X-Cache deny all
header_access X-Cache-Lookup deny all
header_access Via deny all
header_access Forwarded-For deny all
header_access X-Forwarded-For deny all
header_access Pragma deny all
header_access Keep-Alive deny all
该代理似乎工作正常,并且我已将系统网络设置配置为使用它。
当我访问 www.whatismyip.com 时,我看到了我的服务器的 IP 地址,并且没有像我希望的那样检测到代理:
然而,当我在谷歌中搜索“我的 IP 地址是什么”时,我看到的是我的实际 IP 地址,而不是我的服务器的 IP 地址:
虽然在上面的截图中我使用我的个人 gmail 帐户登录了 Google,但当我使用隐身窗口或其他浏览器(例如 safari 或 firefox)时也会发生这种情况(两者都已配置为使用代理设置,并且在访问 whatismyip.com 时都会显示服务器的 IP 地址。
那么这里发生了什么?即使我将 Squid 配置为不使用标头,Google 又如何能够获取我的实际 IP 地址呢forwarded for
?
答案1
这可能不是由于 squid 插入标头所致。由于连接是通过 https 进行的,因此 squid 不可能插入标头。
更可能的解释是,浏览器已配置为使用 http 的代理,但没有配置为使用 https 的代理。
使用或类似方法检查流量tcpdump
,应该很容易揭示 https 流量是否确实通过您的代理。