如何使squid代理不在线显示为代理?

时间:2017-02-26 21:55:28

标签: proxy squid proxies

所以我试图设置一个不会在网站上显示为代理的squid代理,我在squid.conf上尝试了不同的设置,但它不起作用。我对术语透明代理和匿名代理感到困惑,所以我不确定我正在寻找什么样的设置。除了我允许自己使用代理以及我想要使用的端口之外,我目前在我的conf上的设置是:

via off
forwarded_for 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

我不确定所有这些是做什么的,但在添加这些之后确实会影响显示较少信息的http://www.whatsmyip.org/more-info-about-you/页面,所以我猜它是一个开始。更具体地说,我希望代理在网络上看起来像普通用户。

任何帮助将不胜感激, 感谢。

1 个答案:

答案 0 :(得分:0)

首先,我认为这有助于理解HTTP请求标头和回复标头之间的区别。请求标头主要由您的浏览器构建,并标识浏览器的类型,其功能,所请求的对象,准备请求的响应,以及有时提供身份验证凭据和Cookie等内容。响应头由Web服务器返回给客户端,也可以由中间系统添加/更改,通常是负载均衡器和代理。要了解相关信息,请使用Firefox或Chrome中的Inspect Element工具,切换到网络标签,然后浏览您喜爱的网站。单击已请求的对象并查看响应&请求标题以了解其中的典型信息。一个很好的指南是here

澄清另一个混淆点,透明代理和匿名代理之间的区别:

透明代理是内联连接的代理,通常是为了避免在客户端上需要任何特定配置。一种常见的方法是在同时执行NAT的Linux机器上运行Squid,并使用iptables将出站Web请求重定向到Squid进程。另一种方法是将Cisco路由器设置为deliver traffic to Squid using WCCP。在这两种情况下,客户端只会通过检查HTTP响应头来知道它已通过代理路由,通常是通过查看Via:行。每个提供请求的代理都会在将请求传递回客户端时将其主机名附加到此标头字段。可以将Squid配置为不将其自身附加到此标头,或者避免将特定标头数据完全传递回客户端,从而至少从客户端“隐藏”自身。有关更多信息,请参阅squid的reply_header_access文档。

与关注上述响应(即返回给客户端的内容)相比,匿名代理只是一个代理,其配置目的是不传递任何有关的信息客户上游到外国网站。以与上述Via:HTTP回复标头类似的方式,默认情况下,代理将包括“X-Forwarded-For”HTTP请求标头,以标识发起请求的客户端的本地IP。通常,这会将私有IP地址发送到远程网站,一些网络管理员认为这是一种安全风险。出于这个原因,Squid包含一个关闭它的选项(forwarded_for),您的配置片段会利用它。

您的配置片段的其余部分仅识别一堆HTTP标头,并防止Squid向上游发送它们。如果目的是防止信息从本地网络泄漏到外部网站,那么阻止其中一些信息被发送是有意义的(Forwarded-For,X-Forwarded-For)。省略其他标题可能会影响浏览器和浏览器之间的有效协调。网络服务器,例如Link,Pragma和Keep-Alive,应该避免。而且我不确定为什么Via:在那里,因为它是一个回复(不是请求)标题。

让我们翻看它。从基础开始:通过指定forwarded_for off(已经完成)来防止Squid发送X-Forwarded-For标头。然后确定您不信任的网站,以及您不想发送给它们的标头,并将该行为限制在这些域中,例如:

acl untrusted-domains dstdomain .baddomain.com .anotherbaddomain.net
header_access X-Cache-Lookup deny untrusted-domains

如果有一些您不信任的网站,我可以理解阻止它们传输到特定目的地,但是就目前而言,您的配置会从每个请求中删除所有这些标头通过您的代理,并可能导致许多兼容性问题,而不会在隐私或安全方面提供任何明显的好处。