Mod_Rpaf и правильный ip-адрес Nginx
Сейчас, многие как фронтенд ставят на 80 порт Nginx но тогда появляется проблема, ведь Nginx передает
Apache не ip-адрес пользователя, а ip-адрес сервера. Тогда во всех логах получается ip-адрес сервера. Решается проблема установкой модуля для Apache 2- mod_rpaf
Установка репозиториев:
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ihv http://centos.alt.ru/repository/centos/5/x86_64/centalt-release-5-3.noarch.rpm
Ставим:
yum install mod_rpaf
Создается файл — если нет — добавляем в :
/etc/httpd/conf.d/ файл rpaf.conf
И вписываем строки
LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx
где xx.xx.xx.xx – IP адрес вашего сервера. Если на сервере несколько адресов, то прописываем их по аналогии через пробел. Перезапускаем Apache:
service httpd restart
В nginx.conf внутри блока http {} должны быть указаны строки:
proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
после, нужно перезапустить nginx:
service nginx restart