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

Прокси-сервер squid переопределяет заголовок моего хоста, что я могу сделать?

У меня со сквидом такая проблема:

Некоторые клиенты одновременно получают доступ к 62 серверам через прокси-сервер squid. Все серверы имеют одинаковое имя хоста (www.example.com), но разные общедоступные IP-адреса (123.123.123.2 - 123.123.123.63). Владелец сервера использует своего рода циклический перебор DNS.

У меня есть доступ только к серверу squid и клиентам. Подключение к серверам разрешено только через IP-адреса прокси.

Без прокси я просто отправляю запрос на загрузку данных с http // 123.123.123.5 / dataforme, но отправляю заголовок хоста «www.example.com». Это работает так, как должно.

Но теперь, используя squid в качестве прокси без кеширования, это больше невозможно. Squid отменяет отправленный заголовок хоста запроса. Таким образом, целевой сервер не знает, какие данные нужно доставить, потому что заголовок хоста передается неправильно.

Я установил

url_rewrite_host_header off

Но это не имеет никакого эффекта. Кажется, что эта опция используется только при использовании squid в качестве перенаправителя. Я не этим занимаюсь.

Следующее будет работать, если не было других сайтов для загрузки:

header_access Host deny all
header_replace Host www.example.com

Но когда я это сделаю, каждый запрос будет получать заголовок хоста www.example.com. Тогда доступ к другим сайтам будет невозможен.

Что я могу сделать?

Заранее спасибо за вашу помощь!

Стандартные установки Squid этого не делают, если только с некоторыми ошибочными директивами. Если вы используете стандартную версию, пожалуйста, переделайте конфигурацию с нуля. Если это пользовательская компиляция, вам следует просмотреть код и параметры компиляции.

Добавьте эти строки в конфигурацию вашего кальмара. Посмотрим, поможет ли это.

request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
forwarded_for off