====== mod_realip2 ======
{{tag>apache mod_realip2}}
Источник - http://tresnet.ru/archives/152
Вот хоумпага этого модуля: sysoev.ru/mod_realip/
Ну что сказать, разработчик постарался на славу и создал модуль, который нужно компилить еще при сборке апача. Вот выдержка из документации:
Модуль необходимо скопировать в каталог /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.
/etc/httpd/conf.d/mod_remoteip.conf
LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 109.68.191.13
RemoteIPTrustedProxy 46.38.57.222
Apache 2.4
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1
Для Debian надо активировать модуль
# a2enmod mod_remoteip
Меняем формат логов в ''{apache2|httpd}.conf''
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
Заменяем на
LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
* **%a** - Client IP address of the request (see the [[http://httpd.apache.org/docs/current/mod/mod_remoteip.html|mod_remoteip]] module).
* **%h** - Remote hostname. Will log the IP address if HostnameLookups is set to Off, which is the default. If it logs the hostname for only a few hosts, you probably have access control directives mentioning them by name. See the Require host documentation.
* %l - Remote logname (from identd, if supplied). This will return a dash unless mod_ident is present and IdentityCheck is set On.
* %t -
* %u - Remote user if the request was authenticated. May be bogus if return status (%s) is 401 (unauthorized).
В nginx proxy_set_header X-Real-IP $remote_addr;
http://ras.pl.ua/zamena_modulu_mod_rpaf_v_apache_24/