nginx apache2 (rpaf-0.6)

Olexander Shtepa isk at idegroup.com
Wed Dec 3 11:31:13 MSK 2008


> Да, есть такая проблема.
> В свое время я тоже с этим стоклнулся. Ставил syslog-и в mod_authz_host
> оказалось, что в этом модуле адрес остается неизменным (адрес nginx с 
> которого было установлено соединение) в то время как в логах и 
> $_SERVER['REMOTE_ADDR'] был верный адрес из X-Real-IP.
> 
> Имхо, тут apache крутить надо. У меня мозга не хватило =)

В своё время тоже столкнулся с непонятным поведением mod_rpaf.
Что побудило написать свой модуль. Можете попробовать мой.

В аттаче src.rpm для CentOS и сам исходник модуля для не rpm-based систем.
src.rpm пересобирается как обычно.
Исходник так:
$ apxs -c mod_realip2.c

Собственно о модуле:
Название mod_realip2. Это чтобы не путать с модулем просто mod_realip от Игоря Сысоева.
Двоечка также подчеркивает то, что модуль предназначен для апача 2.
Есть совместимость с IPv6. Правда в бою не проверял, только тестировал.
Модуль не поддерживает формат заголовка типа X-Forwarded-For.

Использование:
# Загрузка модуля
LoadModule realip2_module MODULES_DIR/mod_realip2.so
# Включает модуль
RealIP On
# Список адресов для коотрых делать перезапись ИП (можно ИП, можно и ДНС имя)
RealIPProxy 127.0.0.1 10.0.3.3
# В каком заголовке искать ИП адрес (по дефолту X-Real-IP)
RealIPHeader X-Real-IP

Соответственно в nginx:
proxy_pass http://...;
proxy_set_header X-Real-IP $remote_addr;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mod_realip2-1.1-1.el5.centos.src.rpm
Type: application/x-rpm
Size: 4717 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20081203/1c6f4ae3/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mod_realip2.c
Type: text/x-csrc
Size: 6243 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20081203/1c6f4ae3/attachment.c>


More information about the nginx-ru mailing list