Устанавливаем модуль mod_rpaf на CentOS (связка nginx+apache)
Как правильно сделать установку модуля mod_rpaf на CentOS (связка nginx+apache)
Для того, чтобы сделать проброску клиентского айпи к серверу необходим модуль mod_rpaf для Apache. Очень часто, при совмещении nginx+apacheпроисходит проблема в логах Апача - когда должен быть реальный айпи записывается localhost, а с логами nginx изменений не происходит.
Мы Вам поможем решить эту задачу, рассмотрим по пунктам:
1. Делаем установку нужных пакетов.
yum install httpd-devel gcc
2. Производим загрузку mod_rpaf.
cd /tmp
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
Но, если скачивание не происходит, тогда добавляем в /etc/hosts:
178.236.176.177 stderr.net
3.Следующий этап - собираем модуль с такой установкой:
tar xvzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
cd
4. Производим действие конфигурации
mod_rpaf.
LoadModule rpaf_module modules/mod_rpaf-2.0.so
# mod_rpaf Configuration
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 10.0.0.1
RPAFheader X-Forwarded-For
Обязательно произвести действие- в параметре RPAFproxy_ips необходимо записать айпи, где слушает nginx.
В 99% обычно подходит 127.0.0.1
5. Делаем подстройку конфигурации vhost в nginx.
Перемещаемся в раздел location / и делаем там запись:
proxy_pass http://apache_ip:apache_port/;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Set-Cookie;
6. Обязательно делаем перезагрузку и текст.
/etc/init.d/httpd restart
/etc/init.d/nginx restart
Переходим и открываем свой сайт и наблюдаем лог-файл.
Так есть сейчас:
tail /var/log/nginx/access.log
12.34.56.78 - - [01/May/2014:11:44:44 +0300]
Так было раньше:
tail /var/log/nginx/access.log
127.0.0.1 - - [01/May/2014:11:42:44 +0300]
Такой представленный вам вариант возможно вам не помог, пройдитесь еще раз по аннотации с начала и внимательно.
Есть моменты,где необходимо было вносить изменения, которые подходят только к вашему серверу.
Еще пересмотрите error_log.