上流の親を持つ透過的な HTTPS Squid プロキシ

上流の親を持つ透過的な HTTPS Squid プロキシ

私はインターネットに直接アクセスできないネットワークを持っていますイカ 3.5.9として透過プロキシtcp/8080HTTP と HTTPS をリッスンしますtcp/8443(iptablesそれぞれ tcp/80 と tcp/443 からリダイレクトされます)。

この Squid も直接インターネットにアクセスすることはできませんが、インターネットにアクセスできるネットワークの他の部分にある親 Squid と通信できます。

HTTPではうまく機能します - クライアントはリクエストを送信しますhttp://www.example.com(ポート 80)、ルーターと iptables は接続を Squid のポート 8080 にリダイレクトし、リクエストをインターセプトして、通常どおりにサービスを提供する上流プロキシにリクエストを送信します。使用される設定オプションは次のとおりです。

http_port 8080 intercept
cache_peer proxy-upstream parent 3128 0 no-query
never_direct allow all

それはうまくいきました。今度は、HTTPS で同様のことを実行したいと思いました。

https_port 8443 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/myCA.pem
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
sslcrtd_children 5

ssl_bump bump all

それがなければcache_peer、期待どおりに動作します。つまり、偽の SSL 証明書を自動生成し、ターゲットに直接接続します。

しかし、それではcache_peer動作しません。プロキシから HTTP/503 エラーが発生します。

1446684476.877  0 proxy-client TAG_NONE/200 0 CONNECT 198.51.100.10:443 - HIER_NONE/- -
1446684476.970  3 proxy-client TCP_MISS/503 4309 GET https://secure.example.com/ - FIRSTUP_PARENT/proxy-upstream text/html

あるいは、ssl_bump設定を次のように変更します。

acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

cache.log にクラッシュ メッセージが表示されます:

2015/11/05 01:07:11 kid1| assertion failed: PeerConnector.cc:116: "peer->use_ssl"

このプロキシを非透過モードで使用すると、つまりクライアント上のプロキシを proxy-test:3128 に設定すると、次のように動作します。

1446684724.879 141 proxy-client TCP_TUNNEL/200 1886 CONNECT secure.example.com:443 - FIRSTUP_PARENT/proxy--upstream -

だから私は何らかの方法でHTTPSプロキシテストCONNECTリクエストに転送されるプロキシアップストリームSquid がそれができない場合、それが可能な他の透過から非透過へのプロキシ ソフトウェアはありますか?

ありがとう!

関連情報