Apache + Nginx как фронт-энд и IP-адреса клиентов

Открываем завесу анонимности
Вот уже прошёл почти год, как я поставил Nginx в помощь апачу для отдачи статики. Всё бы хорошо, но при этом пропала возможность видеть IP-адреса посетителей и комментаторов, что накладывает определённые ограничения на возможность блокировки нежелательных посетителей. Это связано с тем, что в такой связке Apache получает запросы от Nginx и соответственно «видит» только IP-адрес сервера. Недавно меня опять забеспокоил этот вопрос, и я нашёл простое решение этой проблемы.


P.S.
Расположение файлов может отличаться для разных дистрибутивов. Данные действия были успешно выполнены на FreeBSD 8.

Для того чтобы Apache видел адреса клиентов, необходимо всего лишь подключить к нему модуль mod_rpaf (модуль восстановления реального IP адреса клиента на backend сервере). Для этого идём в каталог /usr/local/libexec/apache22 и убеждаемся в наличии там файла mod_rpaf.so либо mod_rpaf2.so. Теперь правим конфиг апача: /usr/local/etc/apache22/httpd.conf . Здесь нам необходимо добавить всего три строчки.
1
2
3
LoadModule rpaf_module libexec/apache22/mod_rpaf2.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 XXX.XXX.XXX.XXX

Вместо XXX.XXX.XXX.XXX впишите IP-адрес сервера.
Всё, теперь осталось перезапустить апач и проверять результаты)

Похожие записи:

Комментарий “Apache + Nginx как фронт-энд и IP-адреса клиентов

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *