Правильные клиентские IP адреса в Nginx при использовании HAProxy
Материал из support.qbpro.ru
По умолчанию 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” .