
我希望透過父代理發送到特定網域的所有流量,這是我的魷魚配置:
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access allow localhost
http_access allow localnet
http_access deny manager
http_access deny !Safe_ports
http_access deny all
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
cache_peer XXX.XXX.XXX.XXX parent 3128 0 no-digest
cache_peer_domain XXX.XXX.XXX.XXX .srv-get-my-ip.com
所以http://ip.srv-get-my-ip.com返回時透過代理很好地發送Current Address: XXX.XXX.XXX.XXX
:
1444889588.794 599 192.168.0.12 TCP_MISS/200 522 GET http://ip.srv-get-my-ip.com/ - FIRSTUP_PARENT/XXX.XXX.XXX.XXX text/html
但https://ip.srv-get-my-ip.com不透過代理發送,因為它會傳回我的 ip Current Address: YYY.YYY.YYY.YYY
:
1444889762.199 154 192.168.0.12 TCP_MISS/200 6654 CONNECT ip.srv-get-my-ip.com:443 - HIER_DIRECT/AAA.AAA.AAA.AAA -
如何讓魷魚以與第一個查詢相同的方式處理第二個查詢?
結果在這裡很重要,所以如果有人可以使用魷魚以外的其他代理商(apache、haproxy 或其他)來實現相同的目標,我會嘗試!
謝謝!
答案1
可以按照您描述的方式代理 SSL,但是它需要[1] 您擁有 SSL 憑證。
這是一個功能,而不是一個錯誤,因為它可以防止針對 SSL 的中間人攻擊。
如果您擁有證書,那麼大多數反向代理都適合您。例如,您可以設定squid 終止SSL 連接,然後重新建立到父代理的連接。請參閱魷魚 https 文檔
另請注意該頁面:
HTTPS 旨在為使用者提供隱私和安全的期望。在未經用戶同意或不知情的情況下解密 HTTPS 隧道可能違反道德規範,並且在您所在的司法管轄區可能是非法的。
nginx,Apache 流量伺服器,HA代理, Apache httpd 與模組代理,以及其他幾個反向代理程式都能夠為您執行 SSL 終止。
[1] 如果您可以容忍不安全的 HTTPS,或者(也許更有趣)您能夠控制客戶端中的可信任證書,則存在例外情況。但是……這條路上充滿了危險。