Назад | Перейти на главную страницу

mod_rpaf проблемы с Nginx front, Apache back-end после обновления Ubuntu

Я использую интерфейс Nginx для статических файлов и проксирую серверную часть Apache для PHP и Passenger, используя Apache mod_rpaf для установки правильного удаленного IP-адреса на серверной части. Все работало нормально, пока я не обновился до Ubuntu 12.04 (Precise). Теперь Apache сообщает обо всех подключениях с 127.0.0.1.

Вот соответствующая конфигурация. Здесь ничего не изменилось с обновлением.

Nginx:

proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;

mod_rpaf:

<IfModule mod_rpaf.c>
    RPAFenable On
    RPAFsethostname On
    RPAFproxy_ips 127.0.0.1 ::1
    RPAFheader X-Forwarded-For
</IfModule>

я использую %{X-Forwarded-For}i в моей директиве Apache LogFormat, и журналы доступа показывают правильный удаленный адрес, поэтому я знаю, что Nginx передает адрес правильно.

В phpinfo() test, HTTP_X_FORWARDED_FOR показывает правильный удаленный адрес, но REMOTE_ADDR - 127.0.0.1. Это также отражено в приложениях PHP, таких как комментарии WordPress.

Я пробовал переключить Nginx и mod_rpaf на X-Real-IP, но безрезультатно.

Что-то изменилось, что я пропустил?

Соответствующая информация о версии, все установлено из репозитория Ubuntu:

Nginx 1.1.19
Apache 2.2.22
mod_rpaf 0.6

Я только что с этим имел дело. В пятницу была подтверждена ошибка Ubuntu. Вы можете снова заставить все работать, изменив:

<IfModule mod_rpaf.c>

к

<IfModule mod_rpaf-2.0.c>

в /etc/apache2/mods-available/rpaf.conf

Похоже, что mod_rpaf устарел в Debian Jessie, и дальнейшая разработка остановлена. Переключитесь на mod_remoteip, который является модулем по умолчанию в Debian Jessie.

Просто обновление этого вопроса. Формат переменных, которые использует mod_rpaf, был изменен - ​​Apache откажется начинать с перечисленных выше переменных (RPAFenable, RPAFsethostname, RPAFproxy_ips, RPAFheader).

Новый формат выглядит следующим образом:

LoadModule              rpaf_module modules/mod_rpaf.so
RPAF_Enable             On
RPAF_ProxyIPs           127.0.0.1 10.0.0.0/24
RPAF_SetHostName        On
RPAF_SetHTTPS           On
RPAF_SetPort            On
RPAF_ForbidIfNotProxy   Off