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

Перенаправить HTTPS CONNECT с помощью squid

Я установил squid 3.4.8. Его основная цель - перенаправить пользователей на внутренние целевые страницы, поскольку в этой сети не разрешен и не включен доступ в Интернет. Вместо того, чтобы давать браузерам время ожидания, мы хотим немедленно уведомить пользователей. У меня нет проблем с перенаправлением HTTP на целевую страницу (stop.html). Прокси-сервер Squid слушает 8888. Целевые страницы слушают 10.5.5.100:8000

Как перенаправить все исходящие HTTPS-запросы и перенаправить их на целевую страницу? В моем журнале squid access.log для запроса HTTPS отображается следующая ошибка:

TCP_DENIED / 302 321 ПОДКЛЮЧИТЬСЯ

Соответствующий файл squid.conf выглядит следующим образом:

acl internaltraffic dst 10.0.0.0/8  #internal traffic only
acl CONNECT method CONNECT
http_access deny CONNECT all
http_access allow internaltraffic
http_access allow localhost
deny_info http://10.5.5.100:8000/stop.html all
deny_info 302:http://10.5.5.100:8000/stop.html CONNECT
http_access deny all
http_port 8888

Вероятно, это не сработает так, как вы думаете. Вы не можете просто перенаправить HTTPS-сайт - вам нужно «человек посередине». Это подразумевает либо установку корневого сертификата в каждой системе (и некоторое нарушение их безопасности, чтобы вы могли читать трафик), либо получение пользователями предупреждения, которое их не следует учить игнорировать.

Видеть http://wiki.squid-cache.org/Features/SslBump для уточнения того, как это сделать. (Но, пожалуйста, не делайте этого).

Кроме того, если вы не настраиваете SQUID в качестве прокси (т.е. вы не используете прозрачный прокси, что, казалось бы, было более логичным решением), вам понадобится ваш маршрутизатор, чтобы дополнительно перехватывать трафик на порту 443 и перенаправлять его на порт 443. сервер squid - вы обнаружите, что есть аналогичное правило для трафика порта 80.

Лучший способ - создать страницу с ошибкой на localhost, где установлен squid, а затем отредактировать файл hosts, чтобы указать домены, которые вы хотите заблокировать, на localhost.