Правильные клиентские 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” .

взято тут
* параметры haproxy