ACL User-Agent сопоставляет идентификатор, который клиент помещает в свой HTTP-запрос. В конфигурации Squid 7 тестового клиента можно классифицировать с помощью req_header:

acl legacy_probe req_header User-Agent -i ^LegacyProbe/
http_access deny legacy_probe

Пример сопоставляет заголовок, начинающийся с LegacyProbe/, без учёта регистра. Замените шаблон нужным идентификатором клиента. Выражение — это регулярное выражение, а не поиск названия браузерного продукта.

Поместите правило запрета перед любым более широким правилом доступа, которое уже разрешало бы запрос. Сохраните существующие элементы управления клиентом и назначением на прокси вокруг этого точечного правила.

Широкий префикс, например Mozilla, сопоставляется со многими разными браузерами. Используйте фактический заголовок, который отправляет клиент, когда решаете, насколько узкой должна быть политика совместимости или тестирования.

Клиент управляет этим заголовком и может изменить или опустить его. Правило классифицирует заявленный идентификатор; это не сильная идентичность приложения. Оно также действует на HTTP-сообщения, которые Squid может проверить, а не на зашифрованные заголовки сайтов внутри обычного туннеля CONNECT.

Похожие статьи