Для изменения заголовка User-Agent в Squid действительно требуется правильная конфигурация, и вы на верном пути. Однако, давайте разберёмся поэтапно, чтобы удостовериться, что всё сделано правильно.
1. **Убедитесь, что Squid собран с нужными параметрами**: Тот факт, что вы скомпилировали Squid с параметром `--enable-http-violations`, означает, что Squid может изменять заголовки. Убедитесь, что ваш `./configure` лог действительно включает этот параметр. Для этого можно запустить в терминале:
```bash
squid -v
```
В выводе должно быть видно, что Squid собран с нужным параметром.
2. **Правильная конфигурация**: Ваши настройки выглядят в целом правильно, но я бы порекомендовал убедиться, что у вас нет других правил или ACL, которые могут блокировать ваше правило. Пример конфигурации может выглядеть так:
```plaintext
acl all src 0.0.0.0/0
http_access allow all
request_header_access From deny all
request_header_access Referer deny all
request_header_access User-Agent deny all
request_header_replace User-Agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0"
```
3. **Перезагрузка Squid**: После изменений конфигурации, обязательно перезапустите Squid:
```bash
sudo systemctl restart squid
```
4. **Проверка корректности работы**: Используйте инструменты, такие как `curl`, чтобы проверить, как ваш Squid прокси изменяет заголовки. Например:
```bash
curl -I -x http://localhost:3128 http://example.com
```
Замените `localhost` и `3128` на адрес и порт вашего прокси, если они отличаются.
5. **Логи для отладки**: Также полезно проверить логи Squid, чтобы убедиться, что запросы проходили через прокси и ваши правила применялись. Основной лог обычно находится по пути `/var/log/squid/access.log` или `/var/log/squid3/access.log`.
Если после всех этих шагов проблема всё ещё сохраняется и User-Agent не меняется, проверьте, возможно, у вас есть ограничения на уровне клиентского приложения (например, в браузере или другом клиенте), которые могут игнорировать заголовок прокси.