Настройка конфигурации:
192.168.18.130: прокси-сервер Squid3 в Ubuntu 12.04
192.168.18.131: Веб-сервер запущен
192.168.18.132: Пользователь
Я хочу, чтобы используемый IP-адрес был виден на странице PHP, запущенной на веб-сервере.
В настоящее время я не получаю X_Forwarded_For
В заголовке обычно используются дефисы, а не подчеркивания. Так что, это X-Forwarded-For
. Я считаю, что в Squid это должно быть по умолчанию.
Лучший способ убедиться, что squid отправляет этот заголовок, - это посмотреть на захват пакета с чем-то вроде WireShark. Тогда вы можете быть уверены, что проблема в squid или PHP, вместо того, чтобы пытаться устранить оба сразу.
Быть уверенным forwarded_for не установлено ни на что иное, кроме "включено" (по умолчанию)
mod_extract_forwarded Модуль apache извлечет x-forwarded-for из HTTP-заголовка, полученного из squid, и передаст его как обычно REMOTE_ADDR к остальной части apache / php.
Убедитесь, что у вас есть параметры для x-forwarded-for, правильно установленные в вашем squid.conf, и вы не удаляете / не ограничиваете этот HTTP-заголовок, по умолчанию он включен, и также добавляется заголовок «via».
Использую в продакшене, эффективно, хорошо.