В конфиге squid выставляю http_port 3129 intercept
. На машине со squid-ом выполняю команду curl -I -vvv http://ya.ru --connect-to ya.ru:80:127.0.0.1:3129
и получаю ошибку 403.
Проверил настройки selinux и firewalld - ничего не блочит запросы. Убрал intercept
, сделал запрос http_proxy=http://127.0.0.1:3128 curl -I -vvv http://ya.ru
- все работает как надо.
Включил debug-логи squid-а, вижу следующее:
2022/08/15 17:17:30.937 kid1| WARNING: Forwarding loop detected for:
HEAD / HTTP/1.1
User-Agent: curl/7.61.1
Accept: */*
X-Forwarded-For: 127.0.0.1
Cache-Control: max-age=259200
Connection: keep-alive
Host: ya.ru
Не могу понять в чем проблема. Если я правильно понимаю принцип работы squid в режиме intercept, то должно произойти следующее:
- запрос приходит в squid (чаще всего через dnat)
- squid извлекает из запроса заголовок
Host
, резолвит имя хоста и делает к нему запрос
Если все так, то не могу понять почему возникает цикл.
Где я ошибаюсь?