установка mod_rpaf на Debian.

Posted in Новости on 17 ноября, 2010 by admin

1. ставим сам модуль
apt-get update
apt-get install -y libapache2-mod-rpaf

2. редактируем конфиг
nano /etc/apache2/mods-enabled/rpaf.conf

где в строке «RPAFproxy_ips 127.0.0.1» вписываем через пробел все внешние IP сервера.

например пусть будут 2 IP — 1.1.1.1 и 2.2.2.2 тогда строка будет выглядеть так :

RPAFproxy_ips 127.0.0.1 1.1.1.1 2.2.2.2

3. сохраняем и перезагружаем вебсервер :

/etc/init.d/apache2 restart

Tags: , ,

проблемы с HTTP_X_FORWARDED_FOR и HTTP_X_REAL_IP (Debian)

Posted in Новости on 30 апреля, 2010 by admin

директивы HTTP_X_FORWARDED_FOR и HTTP_X_REAL_IP нужны для определения IP за прокси и должны обрабатываться при помощи mod_rpaf, но работают только с версии 0.6. Однако в репозиториях Debian (вообще ни в каких) нет нужной версии а значится только 0.5, так что будем собирать.

Качаем архив :
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz

распаковываем и переходим :
tar -zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6

собираем и устанавливаем :
make rpaf-2.0
make install-2.0

далее создаем конфиг :

nano /etc/apache2/mods-available/rpaf-2.0.load

и вносим туда следущее :

LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 x.x.x.x
#определяющие строки
RPAFheader X-Forwarded-For
RPAFheader X-Real-IP

и ребутим апач

apache2ctl restart

Tags: , ,

mod_realip2 как аналог mod_rpaf для CentOS 5 с Apache(httpd)(backend) + nginx (frontend)

Posted in Новости on 17 марта, 2010 by admin

Вот хоумпага этого модуля :

sysoev.ru/mod_realip/

Ну что сказать, разработчик постарался на славу и создал модуль, который нужно компилить еще при сборке апача. Вот выдержка из документации :

Модуль необходимо скопировать в каталог <apache_src>/src/modules/extra/ и активировать при сборке Apache.

Причем документация закончилась на версии апача 1.3 , соответственно нам уже не подходит =)

при компиляции непосредственно самого исходника одного :

apxs -i -c -n mod_realip.so mod_realip.c

Вылезает порядка 30 ерроров и варнов, так что запасаемся терпением и тянем от меня уже скомпилированный mod_realip2.so и кидаем свой конфиг веб демона в /etc/httpd/conf.d/mod_realip2.conf вот такую инфу :

LoadModule realip2_module modules/mod_realip2.so
RealIP On
RealIPProxy xx.xx.xx.xx yy.yy.yy.yy 127.0.0.1
RealIPHeader X-Real-IP

Где xx.xx.xx.xx и yy.yy.yy.yy — IP Вашего сервера

а сам so вот сюда : /usr/lib64/httpd/modules

PS К сожалению модуль найден пока только под x86_64.

Tags: , , , , ,

Apache(httpd)(backend) + nginx (frontend) + mod_rpaf

Posted in Новости on 16 марта, 2010 by admin

при подобном раскладе не работает напрямую (через порт 80) вот такая конструкция :

order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx

Решается довольно интересно :

SetEnvIf Remote_Addr “^10\.11\.12\.13? realremoteaddr
Order Deny,Allow
Deny from all
allow from env=realremoteaddr

Tags: , , , , ,

mod_rpaf CentOS

Posted in Новости on 11 марта, 2010 by admin
Есть 2 пути установки
1 Путь
1 Устанавливаем необходимое
yum -y install httpd-devel
2 Скачиваем и устаналвиваем сам модуль
cd /root/
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar -zxvf mod_rpaf*
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
3 Правим или создаем новый,если нет конфиг /etc/httpd/conf.d/rpaf.conf
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips xx.xx.xx.xx yy.yy.yy.yy
соответственно меняем xx.xx.xx.xx yy.yy.yy.yy на IP сервера
2 Путь
1 подключаем репо для своей архитектуры
«rpm -ihv http://centos.alt.ru/repository/centos/5/x86_64/centalt-release-5-3.noarch.rpm»
«rpm -ihv http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm»
2 отключаем его от греха подальше ( ну зачем нам нужны проблемы с обновлением?)
редактируем /etc/yum.repos.d/centalt.repo вот так «enabled=0»
3 ставим модуль
yum -y —enablerepo=CentALT install mod_rpaf
4 Правим или создаем новый,если нет конфиг /etc/httpd/conf.d/rpaf.conf
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips xx.xx.xx.xx yy.yy.yy.yy
соответственно меняем xx.xx.xx.xx yy.yy.yy.yy на IP сервера
Проверка работоспособности mod_rpaf :
в директории сайта создаете файл test.php со следующим содержанием :
<?
echo $_SERVER['REMOTE_ADDR'];
?>
если при обращении к данному скрипту в ответе сервера IP будет отличаться от IP сервера, то данный модуль работает корректно.
Tags: , ,