Работает ли поддержка SSL с родительским прокси? squid
и pf
настроены так:
squid.conf
:
http_port 3128 intercept
https_port 3129 intercept ssl-bump generate-host-certificates=on key=/usr/local/etc/squid/ssl/squid.key cert=/usr/local/etc/squid/ssl/squid.pem
sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
ssl_bump client-first none
ssl_bump server-first all
cache_peer proxy.office.com parent 8080 0 login=user:password
pf.conf
rdr pass on lo0 proto tcp from any to any port 80 -> 127.0.0.1 port 3128
rdr pass on lo0 proto tcp from any to any port 443 -> 127.0.0.1 port 3129
pass out on en0 route-to lo0 inet proto tcp from any to any port 80 keep state
pass out on en0 route-to lo0 inet proto tcp from any to any port 443 keep state
squid
версия:
Squid Cache: Version 3.2.9
configure options: '--disable-debug' '--disable-dependency-tracking' '--prefix=/usr/local/Cellar/squid/3.2.9' '--localstatedir=/usr/local/var' '--enable-ssl' '--enable-ssl-crtd' '--disable-eui' '--enable-ipfw-transparent' 'CC=cc' 'CXX=c++' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.8'
Для HTTP все работает нормально, но HTTPS-соединения повышаются 1372080519.323 0 172.17.244.135 NONE/400 3998 NONE error:invalid-request - HIER_NONE/- text/html
в cache.log
. Родительский прокси-сервер работает, если он установлен в браузерах как прокси-сервер HTTPS.
Там нужно 3 строчки:
http_port 3128
http_port 3129 intercept
https_port 3130 intercept ssl-bump...
Укажите прокси-сервер HTTP и SSL в браузере на 3128, и он должен работать. Каждый раз, когда он получает безопасный запрос CONNECT, он переходит к 3130 для https. Никаких других записей в брандмауэре не требуется, поскольку все это внутреннее устройство squid.