Назад | Перейти на главную страницу

Конфигурация Squid для https

Моя проблема:

  1. Я хочу, чтобы несколько клиентских компьютеров открывали браузер Chrome с помощью http_proxy и маршрутизировали все сообщения через этот прокси.
  2. Параметр http_proxy будет localhost: 3128, а локальный туннель ssh будет перенаправлять сообщение на сервер squid.
  3. Сервер Squid будет настроен на обработку только соединений localhost на 3128.
  4. Сервер Squid должен пересылать все запросы (http и https).
  5. Никаких других функций не требуется! без кеширования, без мониторинга и т.д. Просто пересылка.
  6. Сервер squid будет перенаправлять с нескольких портов на разные исходящие IP-адреса.

Я использовал следующий файл 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 сервера и должен работать нормально, пока программное обеспечение туннеля на стороне клиента доверяет ЦС, используемому для подписи этого сертификата прокси.