Установка и настройка модуля mod_rpaf на Сentos 6
1.Установка
wget http://repo.x-api.net/centos6/x86_64/mod_rpaf-0.6-2.el6.x86_64.rpm
rpm -ihv mod_rpaf-0.6-2.el6.x86_64.rpm
Либо собираем rpm-пакет из иходников
cd /tmp
wget http://centos.alt.ru/6/SRPMS/mod_rpaf-0.6-2.el6.src.rpm
rpm -ihv mod_rpaf-0.6-2.el6.src.rpm
yum install rpm-build gcc httpd-devel
rpmbuild -bb /root/rpmbuild/SPECS/mod_rpaf.spec
rpm -ihv /root/rpmbuild/RPMS/x86_64/mod_rpaf-0.6-2.el6.x86_64.rpm
2.Настройка
В /etc/httpd/conf.d/ создаем файл rpaf.conf с таким содержанием
(или правим его до этого вида, если он там существует)
#Предварительно проверяем название модуля
# ls -al /etc/httpd/modules/ | grep rpaf
#-rwxr-xr-x 1 root root 6456 Sep 21 2011 mod_rpaf-2.0.so
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 XXX.XXX.XXX.XXX ,где XXX.XXX.XXX.XXX –ip-адрес #сервера(если их несколько,то прописываем их все сюда через пробел)
RPAFheader X-Real-IP
Рестарт Apache
/etc/init.d/httpd restart
Использование модуля mod_extract_forwarded в качестве альтернативы модулю mod_rpaf
yum install mod_extract_forwarded
nano /etc/httpd/conf.d/mod_extract_forwarded.conf
MEFaccept 127.0.0.1
apache2ctl configtest
/etc/init.d/httpd restart
apachectl -M | grep forwarded
extract_forwarded_module (shared)
3.Тестирование работы модуля
В корне любого сайта создаем файл test.php с таким содержанием
<?PHP
echo $_SERVER[‘REMOTE_ADDR’];
?>
При запросе http://<sitename>/test.php
мы должны получить IP-адрес клиента(т.е IP-адрес отличающийся от IP-адреса сервера)Т.е модуль работает корректно