Ubuntu 10.04.4で、httpで正常に動作するファイアホールとtinyproxyを備えた透過的なプロキシ設定がありますが、httpsで動作させることができません。
Tinyproxyに直接接続すると、次のコマンドで問題なく完了します。
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の完全な設定ファイルです。透過プロキシ以外には何もファイアホールを使用することに関心がないことに注意してください。
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
私が知る限り、tinyproxyは着信HTTPS接続をサポートしていません。 [〜#〜] connect [〜#〜]メソッドを使用してHTTPSサイトにアクセスできますが、これを使用するには、ブラウザ/クライアントは、プロキシサーバーと通信していることを認識し、正しい接続方法を使用する必要があります。
ConnectPort
ディレクティブは、接続を許可するポートを定義するだけです。
透過的にプロキシするHTTPS接続をサポートする唯一のFOSS製品は Squid であり、そのサポートは比較的最近です。では、透過的なHTTPSプロキシが中間者攻撃を実行して接続を復号化し、接続先を認識できるようにする必要があるため、かなり大きなセキュリティ上の懸念も生じます。