Правильные клиентские IP адреса в Nginx при использовании HAProxy
Материал из support.qbpro.ru
Версия от 21:09, 3 августа 2014; imported>Vix (Новая страница: «По умолчанию nginx при обработке запросов от HAProxy использует адрес сервера HAProxy. Для того ч…»)
По умолчанию nginx при обработке запросов от HAProxy использует адрес сервера HAProxy.
Для того что бы работать с реальными адреса необходимо добавить в файл haproxy.cfg следующую опцию:
option forwardfor header X-Real-IP
Так же необходимо изменить настройки Nginx: 1. Nginx должен быть собран с опцией –with-http_realip_module 2. В секции http или server nginx-а необходимо добавить следующие параметры:
set_real_ip_from 192.168.0.0/16; real_ip_header X-Real-IP;
где сеть 192.168.0.0/16 серверов HAProxy.
В логах apache, если он стоит за nginx, получить реальный IP возможно через mod_rpaf или mod_extract_forwarded.
Примечание: Эта схема будет работать только если HAProxy работает в режиме “mode http” .