鱿鱼透明代理+拒绝HTTPS访问(连接方法)

根据维基百科 :

HTTP连接隧道

在HTTP代理服务器之后的HTTP隧道的变体是使用“CONNECT”HTTP方法。 1 [2]在这种机制中,客户端请求HTTP代理服务器将TCP连接转发到所需的目的地。 服务器然后继续代表客户端进行连接。 一旦服务器build立了连接,代理服务器继续代理与客户端之间的TCPstream。 请注意,只有初始连接请求是HTTP – 之后,服务器只是代理build立的TCP连接。

这种机制是HTTP代理的客户端如何使用SSL或TLS(即HTTPS)访问网站。

并非所有HTTP代理服务器都支持此function,甚至可能会限制这些function(例如,只允许连接到默认的HTTPS端口443,或阻止似乎不是SSL的stream量)。

我的问题是:

即使(稍后)的访问和stream量是HTTPS,但是有最初的HTTP请求,我是否可以阻止访问网站?


我试图做这样的事情,但它不工作:

acl social_networks dstdomain "/etc/squid3/acls/social_networks.acl" http_access deny CONNECT social_networks all 

尽pipe我正在考虑CONNECT方法,但是访问此ACL中的网站仍然有效。

是的,鱿鱼acls可以阻止访问https网站(我们使用squidguard)。 我认为鱿鱼使用现代浏览器的SNI信息。

但是,你不能透明(这是,但真的不build议以这种丑陋和不安全的方式来制动https连接)。 用户浏览器需要直接使用代理端口。 最好的办法是阻止路由到WAN接口,或者只阻塞到端口443.部署代理设置的一个好的和灵活的方法是使用wpad / pac文件进行自动configuration – 特别是当不是每个设备都被pipe理时。 在托pipe设备上,您可以使用gpos等来部署代理设置。