Squid

HTTPS 代理中繼

  • July 10, 2019

在 Ubuntu 16.04 機器中,我使用 squid 3.5.12 設置了代理中繼配置,如下所示:

External_proxy <-> Internal_proxy <-> 主機

此時,從外部和內部代理我都可以訪問 http 和 https 網站,但從主機我只能訪問 http 網站。

squid.conf在 internal_proxy 中的目前是:

http_port 3128
logformat lmc %ts %la %&gt;a %ul %&lt;A %rm %ru %mt %&gt;Hs %Ss "%{Referer}&gt;h" "%{User-Agent}&gt;h" %&gt;st %&lt;st %tr %&lt;pt %&lt;tt
access_log syslog:local1.info
access_log syslog:local0.info lmc
icp_port 0
cache_peer &lt;external_proxy_IP&gt; parent 8080 0 proxy-only originserver
acl SSL_ports port 443 
acl Safe_ports port 80
acl Safe_ports port 443
acl local_subnet src 192.168.100.0/24
acl CONNECT method CONNECT
http_access allow CONNECT local_subnet
http_access allow local_subnet Safe_ports
http_access allow local_subnet SSL_ports
http_access deny all
connect_timeout 510 minutes
request_timeout 500 minutes
cache_dir ufs /var/cache/squid 8192 16 256
shutdown_lifetime 2 seconds
hierarchy_stoplist cgi-bin ?
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
ftp_epsv off
via off
never_direct allow all
visible_hostname "internal_proxy_hostname"

當我嘗試連接到某個 https 站點時,我收到以下資訊:

wget https://google.com
--2019-07-08 13:08:23--  https://google.com/
Connecting to internal_proxy:3128... connected.
Proxy tunneling failed: Service UnavailableUnable to establish SSL connection.

在 internal_proxy 日誌中:

TAG_NONE/503 0 CONNECT google.com:443 - HIER_NONE/- -
CONNECT google.com:443 - 503 TAG_NONE "-"

我試過這個程序:但結果是一樣的。

注意:我無權訪問 external_proxy 配置

更改 squid.conf 中的行後:

cache_peer &lt;external_proxy_IP&gt; parent 8080 0 proxy-only originserver

經過

cache_peer &lt;external_proxy_IP&gt; parent 8080 0

問題已解決。

引用自:https://unix.stackexchange.com/questions/528939