如何创build与firehol和tinyproxy透明HTTPS代理?

我在Ubuntu 10.04.4中有一个透明的代理设置,使用firehol和tinyproxy可以正常工作,但是我无法让它工作在https上。

连接到tinyproxy直接工作正常,因为以下命令完成OK:

env http_proxy=localhost:8888 curl http://www.google.com env https_proxy=localhost:8888 curl https://www.google.com 

HTTP透明代理也工作正常:

 curl http://www.google.com 

但是当使用https直接访问google时,该命令只是挂起:

 curl https://www.google.com 

这里是firehol和tinyproxy的完整configuration文件。 请注意,我没有兴趣使用firehol除了透明的代理。

firehol.conf:

 transparent_proxy "80 443" 8888 proxy interface any world client all accept server all accept 

tinyproxy.conf(除上游代理以外的所有默认设置):

 User nobody Group nogroup Port 8888 Timeout 600 DefaultErrorFile "/usr/share/tinyproxy/default.html" StatFile "/usr/share/tinyproxy/stats.html" Logfile "/var/log/tinyproxy/tinyproxy.log" LogLevel Info PidFile "/var/run/tinyproxy/tinyproxy.pid" MaxClients 100 MinSpareServers 5 MaxSpareServers 20 StartServers 10 MaxRequestsPerChild 0 ViaProxyName "tinyproxy" ConnectPort 443 ConnectPort 563 upstream corporate.fire.wall:8080 

    据我所知tinpenroxy根本不支持传入的HTTPS连接。 它将允许您通过使用CONNECT方法来访问HTTPS站点,但要使用它,浏览器/客户端必须知道它正在与代理服务器通话,并使用正确的连接方法。

    ConnectPort指令只是定义允许连接的端口。

    唯一支持透明代理HTTPS连接的FOSS产品是Squid ,对此的支持是相对较新的。 还介绍了一些非常重要的安全问题,因为透明HTTPS代理必须执行中间人攻击并解密连接,以便知道连接到哪个连接。