Фильтрация HTTPS-URL с непрозрачным прокси
Я настроил Squid v.3.1 + Squidguard, прокси настраивается на каждом браузере через файл proxy.pac. Теперь, если пользователь заходит на заблокированный сайт с HTTP (например, http://www.facebook.com/), фильтр Url работает, и пользователь перенаправляется на страницу блокировки, но если он переходит на https (например, https: // www.facebook.com) он не заблокирован. Что мне нужно настроить, чтобы заблокировать HTTPS URL?
Вот мой squid.conf:
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
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 deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow all
http_port 3128
url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
Заранее спасибо.
1 ответ
Я получил работающий блок HTTPS, изменив proxy.pac следующим образом:
function FindProxyForURL(url,host)
{
if (shExpMatch(url,"http:*") || shExpMatch(url,"https:*"))
return "PROXY ipProxy:3128";
else
return "DIRECT";
}
Теперь, если пользователь заходит на https://www.facebook.com/ сайт не загружен (и другие неблокированные сайты https обычно доступны), но он не перенаправляется на страницу ошибки "заблокированный сайт", просто браузер. выдает ошибку:
- Firefox и IE предоставляют общую страницу с ошибкой "не удается загрузить страницу"
- Chrome выдает ошибку 111 (net::ERR_TUNNEL_CONNECTION_FAILED)
Есть ли способ перенаправить на страницу ошибки пользователей, пришедших с заблокированных URL-адресов HTTPS?