У меня есть следующая проблема с Squid:
Некоторые клиенты одновременно получают доступ к 62 серверам через прокси-сервер squid. Все серверы имеют одинаковое имя хоста (www.example.com), но разные публичные IP-адреса (с 123.123.123.2 по 123.123.123.63). Владелец сервера использует своеобразный dns round robin.
У меня есть доступ только к серверу 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. Тогда больше невозможно получить доступ к другим сайтам.
Что я могу сделать?
Заранее спасибо за помощь!
tcpdump
может помочь ...Ответы:
Стандартные установки Squid не делают этого, если только с некоторыми ошибочными директивами. Если вы используете стандартную версию, пожалуйста, переделайте конфигурацию с нуля. Если это пользовательская компиляция, вы должны просмотреть код и параметры компиляции.
источник
Добавьте эти строки в ваш конфиг squid. Посмотрим, поможет ли это.
источник