@reaper666

Как заставить работать deny_info с HTTPS в Squid?

Есть Squid 3.5.28. Непрозрачный, работает с указанием адреса в прокси.
Включил директиву deny_info с перенаправлением на другой адрес.
deny_info 303:url.com block_users
В ACL block_users попадают пользователи, у которых закончился трафик.
Проблема в том, что если пользователь идет на HTTP-сайт, то его перенаправляет, а если на HTTPS, то просто браузер выводит сообщение о том, что не может установить соединение.
Работа идет с поддержкой метода peek and splice. Логи следующие.
TCP_DENIED/407 4169 GET rejik.ru - HIER_NONE/- text/html
TCP_DENIED/407 4398 GET rejik.ru - HIER_NONE/- text/html
TCP_DENIED/303 471 GET rejik.ru login HIER_NONE/- text/html
TCP_DENIED/407 3884 CONNECT ya.ru:443 - HIER_NONE/- text/html
TCP_DENIED/407 4113 CONNECT ya.ru:443 - HIER_NONE/- text/html
TCP_DENIED/303 470 CONNECT ya.ru:443 login HIER_NONE/- text/html

Насколько я понял, при заходе на http он получает TCP_DENIED и обращается к директиве deny_info и перенаправляет юзера туда, поскольку вернулся код 303. В случае захода на HTTPS он тоже получает TCP_DENIED и пытается перенаправить, но поскольку SSL-туннель уже поднят, адреса хоста в нем уже не изменить. У меня работало перенаправление в случае подмены сертификатов, но это не вариант, поскольку добавлением сертификата в доверенные проблему того, что браузеры ругаются на неверный сертификат, не решить.
Как еще можно решить эту проблему?
  • Вопрос задан
  • 1400 просмотров
Решения вопроса 1
Kalombyr
@Kalombyr
К счастью, без "предупреждения" от браузера это не обойти т.к. в этом прелесть ssl.
У меня когда-то было сделана блокировка через bind+nginx с автогенерацией сертификата под каждый домен, но смысла в этом особо не видел.
Навсякий случай подпишусь на вопрос, ибо могу быть не прав.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы