Nginx как передавать real IP в Apache 2.4?
Для передачи реального IP адреса из nginx в Apache 2.2 использовался модуль mod_rpaf, однако в версии 2.4 этот модуль уже не поддерживается.
Для нового Apache 2.4 используется модуль mod_remoteip.
Без дополнительных настроек в access.log Apache мы будем видеть вместо настоящих IP адресов, адрес 127.0.0.1
Даже если указывать дополнительные заголовки в nginx.conf
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Это полностью не поможет и в логах апача все также будет только адрес 127.0.0.1
Решение вопроса:
Включаем модуль mod_remoteip
a2enmod remoteip
Создаем файл конфигурации модуля remoteip.conf
touch /etc/apache2/conf-available/remoteip.conf
*Ваш путь к каталогу конфигураций Apache может отличаться, от стандартного Debian
Добавляем в remoteip.conf
RemoteIPHeader X-Forwarded-For RemoteIPTrustedProxy 127.0.0.1
Активируем файл конфигурации
a2enconf remoteip
Редактируем файл конфигурации apache2.conf
LogFormat «%h %l %u %t «%r» %>s %O «%{Referer}i» «%{User-Agent}i»» combined
LogFormat «%a %l %u %t «%r» %>s %O «%{Referer}i» «%{User-Agent}i»» combined
Меняем букву h на a, разница всего в одну букву.
Перезапускаем Apache (команда для Debian)
service apache2 restart
Проверяем файл логов Apache, в нем должны появится реальные адреса новых пользователей сайта.
Фразы: настоящий ай пи в логах, как включить? вместо реального адреса один и тот же, как настроить Apache 2.4