Правильные клиентские IP адреса в Nginx при использовании HAProxy: различия между версиями
Материал из support.qbpro.ru
imported>Vix Нет описания правки |
imported>Vix Нет описания правки |
||
Строка 10: | Строка 10: | ||
set_real_ip_from 192.168.0.0/16; | set_real_ip_from 192.168.0.0/16; | ||
real_ip_header X-Real-IP; | real_ip_header '''X-Real-IP'''; | ||
где сеть 192.168.0.0/16 серверов HAProxy. | где сеть 192.168.0.0/16 серверов HAProxy. |
Текущая версия от 21:11, 3 августа 2014
По умолчанию 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” .