Моя проблема:
Я использовал следующий файл squid.conf:
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
acl SSL method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
# configuring port 3128 to 1.2.3.4 # there's a real IP here
http_port 127.0.0.1:3128 name=3128
acl port3128 myportname 3128 src 127.0.0.1
http_access allow port3128
tcp_outgoing_address 1.2.3.4 port3128
# configuring port 3129 to 1.2.3.5 # there's a real IP here
http_port 127.0.0.1:3129 name=3129
acl port3129 myportname 3129 src 127.0.0.1
http_access allow port3129
tcp_outgoing_address 1.2.3.5 port3129
При указанной выше настройке http работает нормально, но https не работает. То есть сайт вообще не появляется. Я пробовал это в основном с google.com. Достаточно странно, https://www.amazon.com работает!
Какой должна быть правильная конфигурация для этого сценария?
Программное обеспечение "локального ssh-туннеля", которое вы используете, должно подключаться к https_port на Squid, который будет принимать HTTP через TLS. Директива http_port принимает только незашифрованный синтаксис HTTP.
Прокси-порт https должен быть настроен с использованием обычного сертификата TLS сервера и должен работать нормально, пока программное обеспечение туннеля на стороне клиента доверяет ЦС, используемому для подписи этого сертификата прокси.