Май 17 2010

Apache. Установка mod_rpaf.

При реализации балансировки вебсерверов с использованием реверсного прокси(это может быть nginx, apache с mod_proxy или pound, да в общем тут выбор богат и не имеет значения) в логах бекэнда в качестве адреса хоста запрашивающего страницы быдет виден внутренний адрес фронт энда. Это совсем плохо, сразу же теряется статистика посещейний, могут сломаться средства борьбы с брутофорсом и тд и тп.
Что бы избавится от этого, нужно установить и настроить mod_rpaf. Он способен в принятых запросах подменять заголовки, а именно подменять адрес прокси на адрес переданный в заголовке X-Forwarded-For.
Ставится mod_rpaf из портов. Есть 2 версии порта. Для первого апача: /usr/ports/www/mod_rpaf/ и для второго /usr/ports/www/mod_rpaf2/.
Ставить будем для второго, это зависит от того, какой у вас стоит апачь. В последнее время все ставят второй, поскольку первый apache более не развиваетяся. А настройка модуля не зависит от версии.

Итак ставим из портов:

cd /usr/ports/www/mod_rpaf2/
make install clean

По окончании установки, переходим к настройке.
Инсталятор добавит строку в конфиг, отвечающий за загрузку модуля. Правда строка будет закомментирована и надо будет ее раскоментировать.

#LoadModule rpaf_module        libexec/apache22/mod_rpaf.so

Теперь переходим к непосредственной настройке. Настраиваем виртуалхост. Нужно добавить в виртуалхост такие строки:

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 89.252.34.107
RPAFheader X-Forwarded-For

В настройке указывается в строке RPAFproxy_ips — ip адреса ваших фронтэндов. Указываются через пробел.
RPAFheader — заголовок в котором передается реальный адрес хоста с которого пришел к нам запрос.

После настройки нужно проверить конфиг апача:

apachectl configtest

И если конфиг насписан правильно, перезапустить его:

/usr/local/etc/rc.d/apache22 restart

Как работает модуль можно с помощью php скрипт с вызовом функции phpinfo() или просто выведя переменную $_SERVER[‘REMOTE_ADDR’].

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
  • By Самандар, 23.06.2010 @ 06:18

    Здравствуйте
    »
    RPAFenable On
    RPAFsethostname On
    RPAFproxy_ips 127.0.0.1 89.252.34.107
    RPAFheader X-Forwarded-For
    »
    Эти строки в каком файле и по какому адресу нужно записать?

Other Links to this Post


Украинская Баннерная Сеть