Поэтому моя цель - заблокировать только определенные каналы YouTube.
Если я сделаю:
acl block_youtube dstdomain .youtube.com
http_access deny block_youtube
он блокирует любой доступ к YouTube.
если я сделаю:
acl block_youtube url_regex -i ^https://www.youtube.com/watch\?v=v2AC41dglnM
http_access deny block_youtube
он не блокирует эту конкретную страницу, хотя я вижу это в моем access_log.
475862685.876 0 100.100.100.100 TAG_NONE/200 0 CONNECT www.youtube.com:443 - HIER_NONE/- -
1475862686.359 412 100.100.100.100 TCP_MISS/200 51182 GET https://www.youtube.com/watch\?v=v2AC41dglnM - HIER_DIRECT/216.58.192.238 application/json
Кто-нибудь знает, как это решить?
Поскольку youtube, который вы пытаетесь заблокировать, находится на HTTPS, у вас есть проблема. Прокси-сервер не декапсулирует HTTPS, чтобы узнать URL-адрес и контент, поэтому он может разорвать соединение. Чтобы решить вашу проблему, вы должны увидеть решение SSL Bump от Squid. Он не включен по умолчанию из-за проблем с лицензией, но вы можете легко перекомпилировать пакет. Проблема этого решения заключается в том, что клиент должен знать центр сертификации, используемый в прокси, и этот орган является локальным и позволяет создавать сертификат для всех сайтов https. Итак, вам нужно развернуть авторизацию на всех ПК.