IP-адрес не передается со Squid в качестве обратного прокси
Я использую Squid в качестве обратного прокси-сервера для размещения нескольких веб-серверов на одном интернет-IP. Он работает нормально и делал это в течение последних нескольких месяцев. Я только что заметил, что каждый запрос, отправленный на мои серверы, регистрируется как поступающий с IP-адреса серверов squid.
Есть ли способ заставить squid передавать исходный IP-адрес веб-серверам?
2 ответа
Squid использует заголовок X-Forwarded-For для передачи IP-адреса клиента через обратный прокси-сервер. Вам нужно будет настроить forwarded_for on
для Squid, и скажите вашим бэкэнд-серверам, чтобы они записывали новый заголовок.
Есть две вещи, которые я заметил.
Вам необходимо включить forward_for
и если вы iptables MASQUERADE
Правило для входящего трафика из вашего интерфейса, вам может потребоваться удалить его.
В моем случае у меня есть правило для исходящих, которое вызывает то же самое, я просто удалил это правило маскарада, и все работало для меня
Вот правило.
iptables --table nat --append POSTROUTING --out-interface $ETHERNET_INTERNET -j MASQUERADE
Я просто удаляю вышеуказанное правило.