具有上游父級的透明 HTTPS Squid 代理

具有上游父級的透明 HTTPS Squid 代理

我的網路無法直接上網魷魚3.5.9作為一個透明代理監聽tcp/8080HTTP 和tcp/8443HTTPS(iptables分別透過 tcp/80 和 tcp/443 重定向)。

該 Squid 也不能直接存取 Internet,但可以與網路其他部分具有 Internet 存取權限的父 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 不能做到這一點,是否還有其他透明到非透明代理軟體可以做到這一點?

謝謝!

相關內容