Назад | Перейти на главную страницу

Nginx HttpGeoIPModule с X_Forwarded и HAProxy

Можно ли заставить Nginx HttpGeoIPModule использовать IP-адрес X_Forwarded, отправляемый через HAProxy? В настоящее время он просто использует неправильный IP-адрес сервера, но не уверен, как я могу заставить Nginx использовать IP-адрес X_Forwarded.

Любые идеи?

Другой вариант - запустить HA Proxy в прозрачном режиме, тогда все IP-адреса будут отображаться правильно. Обычно для того, чтобы заставить его работать, требуется небольшая обработка IP-таблиц, но это того стоит.

Ответ Самира правильный.

Вам нужно будет настроить и скомпилировать Nginx с параметром --with-http_realip_module.

Затем установите следующую опцию в конфигурации Nginx:

set_real_ip_from 1.2.3.4;

real_ip_header X-Forwarded-For;

Где 1.2.3.4 - IP-адрес HAProxy

В HAProxy вам понадобятся следующие параметры:

option httpclose

option forwardfor

Я нашел этот сайт полезным: http://www.somerorbay.com/vps-and-dedicated/nginx-behind-haproxy-x-forwarded-for-getting-real-client-ip

Вы пробовали использовать RealIPModule и установить для X-Real-IP значение X-Forwarded-For?

Вы должны передать --with-http_realip_module во время компиляции, чтобы построить модуль, потому что он не создается по умолчанию.

http://wiki.nginx.org/HttpRealIpModule