我已经搜索了很多个小时了,我一直在寻找一种为SSL (而不是Squid)设置透明代理的方法。一般的答案是我做不到,但我知道有一些方法。我的目的只有以下几点:
下一页告诉我可以不修改地传递流量,但它没有说明如何传递:带有privoxy的iptables https透明代理?
下一页显示了443的iptables规则,但我自己无法工作:http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:proxy
下面的页面将介绍如何使其仅用于Squid:http://www.rahulpahade.com/content/squid-transparent-proxy-over-ssl-https
编辑:有个人在这里说:我如何使用IPTABLES来创建一个HTTPS (443)在Squid周围的通道?“最好的办法是阻止对端口443的直接访问,并告诉用户如果他们想使用HTTPS,他们必须配置他们的浏览器来使用代理。”但我只知道如何完全阻止443,而不是让它在代理下工作。
发布于 2011-06-16 00:25:38
如果要对域名进行筛选,有两种可能的方法:如果客户端知道必须为HTTPS conenctions使用代理并对其使用筛选器(Squids支持该BTW),则可以从客户端发出的CONNECT方法中获取名称。或者,如果您确实需要透明地执行此操作,则需要查看(加密的)请求头。
如果您希望看到加密的请求头,则需要有一个密钥。如果您想拥有一个密钥,您需要一个证书,该证书是(由客户端信任的)为“正确的”证书,b)证明每一个可能的主机(通配符-所有)。
所以你需要做的是
大多数情况下,如果您需要透明代理,这是因为您不希望或不能重新配置客户端来使用代理。如果您的请求也是如此,您可能无法在客户端上安装证书并将其标记为“受信任的”。因此,尽管有一种透明SSL代理的技术方法,但我怀疑您不会获得多少好处。
发布于 2015-06-09 08:22:57
我知道这是个老问题,但如果OP只想黑名单/白名单某些域名,他们根本不需要使用代理,他们可以使用一个基于DNS的黑名单。
任何其他域名都将被允许。所有的网络流量SSL或其他将通过网关不变。
编辑:鉴于OP准备强制用户通过他的列表,他可以阻止其他访问DNS的方法。这样,如果用户试图使用其他被封锁的DNS方法之一,网站就无法工作。又称“我的路还是高速公路”
对于@惠勒提到的DNS-over-HTTPS,您只需阻止常规的DNS查找,比如https://dns.google.com、https://cloudflare-dns.com/dns-query和https://doh.cleanbrowsing.org/doh/family-filter/。不过,随着越来越多的服务上线,这将很快变得站不住脚。
对于正在开发的其他DNS方法,您可能还需要一种阻止MIME类型的方法,例如application/dns-udpwireformat。
https://serverfault.com/questions/280796
复制相似问题