Веб-сервер Apache2 або httpd за NGINX не показує ІР відвідувача в логах Apache

а замість ІР відвідувача ми бачимо ІР нашого проксі NGINX

для цього :

1. налаштовуємо NGINX

перевіряємо чи NGINX передає ІР відвідувача в параметр X-Forwarded-For

real_ip_header X-Forwarded-For; real_ip_recursive on;

2. налаштовуємо Apache на прийом параметру X-Forwarded-For  , та його запис в логи

ставимо модуль remoteip

a2enmod remoteip

в конфігах Apache2 або httpd  (apache2.conf або httpd.conf) включаємо завантаження модуля mod_remoteip.so

LoadModule remoteip_module modules/mod_remoteip.so

створюємо файл конфігурації модуля remoteip

nano /etc/apache/conf-available/remoteip.conf

та вставляємо таких 2 рядки

RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 192.168.1.10

де замість 192.168.1.10 пишемо ІР вашого NGINX

 

в конфігах Apache2 або httpd  (apache2.conf або httpd.conf) змінюємо формат збереження логів де змінну хост %h заміняємо на змінну %{X-Forwarded-For}i

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

змінюємо на

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined