Правильные клиентские IP адреса в Nginx при использовании HAProxy: различия между версиями
Материал из support.qbpro.ru
imported>Vix (Новая страница: «По умолчанию nginx при обработке запросов от HAProxy использует адрес сервера HAProxy. Для того ч…») |
imported>Vix Нет описания правки |
||
Строка 1: | Строка 1: | ||
По умолчанию nginx при обработке запросов от HAProxy использует адрес сервера HAProxy. | По умолчанию '''nginx''' при обработке запросов от '''HAProxy''' использует адрес сервера '''HAProxy'''. | ||
Для того что бы работать с реальными адреса необходимо добавить в файл haproxy.cfg следующую опцию: | Для того что бы работать с реальными адреса необходимо добавить в файл haproxy.cfg следующую опцию: | ||
option forwardfor header X-Real-IP | option forwardfor header '''X-Real-IP''' | ||
Так же необходимо изменить настройки Nginx: | Так же необходимо изменить настройки '''Nginx''': | ||
1. Nginx должен быть собран с опцией –with-http_realip_module | 1. Nginx должен быть собран с опцией '''–with-http_realip_module''' <br> | ||
2. В секции http или server nginx-а необходимо добавить следующие параметры: | 2. В секции '''http''' или '''server nginx-а''' необходимо добавить следующие параметры: | ||
set_real_ip_from 192.168.0.0/16; | set_real_ip_from 192.168.0.0/16; | ||
Строка 14: | Строка 14: | ||
где сеть 192.168.0.0/16 серверов HAProxy. | где сеть 192.168.0.0/16 серверов HAProxy. | ||
В логах apache, если он стоит за nginx, получить реальный IP возможно через mod_rpaf или mod_extract_forwarded. | В логах '''apache''', если он стоит за '''nginx''', получить реальный '''IP''' возможно через '''mod_rpaf''' или '''mod_extract_forwarded'''. | ||
Примечание: Эта схема будет работать только если HAProxy работает в режиме “mode http” . | Примечание: Эта схема будет работать только если '''HAProxy''' работает в режиме '''“mode http”''' . | ||
[http://www.firefly.by/haproxy-nginx-realip/ взято тут] | [http://www.firefly.by/haproxy-nginx-realip/ взято тут]<br> | ||
[http://support.qbpro.ru/index.php?title=HAProxy_Configuration_Manual#option_forwardfor * параметры haproxy] | [http://support.qbpro.ru/index.php?title=HAProxy_Configuration_Manual#option_forwardfor * параметры 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” .