Сквид, не перенаправляющий SSL как HTTP

Я хочу, чтобы весь мой трафик к определенному домену был отправлен через родительский прокси, вот мой сквид conf:

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 -

Как я могу заставить сквид обрабатывать второй запрос тот же путь как первый?

Результат имеет значение здесь, поэтому если кто-либо может достигнуть той же цели с помощью другого прокси, чем сквид (апач, haproxy или безотносительно), я дал бы ему попытку!

Спасибо!

0
задан 16 October 2015 в 04:35
1 ответ

Проксирование SSL описанным вами способом может быть выполнено, но для требуется [1] , чтобы у вас были сертификаты SSL.

Это функция, а не ошибка, поскольку она предотвращает атаки «злоумышленник посередине» на SSL.

Если у вас есть сертификаты, то большинство обратных прокси-серверов будет работать на вас. Вы можете, например, настроить squid для завершения SSL-соединения, а затем повторно установить его в направлении родительского прокси. См. Https-документацию Squid

Примечание также с этой страницы:

HTTPS был разработан, чтобы дать пользователям надежду на конфиденциальность и безопасность. Расшифровка туннелей HTTPS без согласия или ведома пользователя может нарушать этические нормы и может быть незаконной в вашей юрисдикции.

Nginx , Apache Traffic Server , HAProxy , Apache httpd с mod_proxy и несколько других обратных прокси-серверов могут выполнять завершение SSL за вас.

[1] Существуют исключения, если вы можете терпеть небезопасный HTTPS или (что еще интереснее), если вы можете контролировать доверенные сертификаты в клиентах. Но ... на этом пути лежит опасность.

0
ответ дан 5 December 2019 в 11:51

Теги

Похожие вопросы