Протокол PROXY позволяет NGINX и NGINX Plus получать информацию о подключении клиентов, передаваемую через прокси-серверы и балансировщики нагрузки, такие как HAproxy и Amazon Elastic Load Balancer (ELB). Всегда можно
выбрать прокси можно на сайте spaceproxy.net.
С помощью протокола PROXY NGINX может узнать исходный IP-адрес из HTTP, SSL, HTTP / 2, SPDY, WebSocket и TCP. Знание исходного IP-адреса клиента может быть полезно для установки определенного языка для веб-сайта. Это поможет вести список IP-адресов или просто для выполнять цели ведения журнала и статистики.
Информация, передаваемая по протоколу PROXY, — это IP-адрес клиента, IP-адрес прокси-сервера и номера обоих портов.
Чтобы принять протокол PROXY v2, NGINX Plus R16 и новее или NGINX Open Source 1.13.11 и новее.
Чтобы принять протокол PROXY для HTTP, NGINX Plus R3 и новее или NGINX Open Source 1.5.12 и новее.
Для поддержки протокола PROXY на стороне клиента TCP, NGINX Plus R7 и новее. Можно применить NGINX Open Source 1.9.3 и новее.
Чтобы принять протокол PROXY для TCP, NGINX Plus R11 и новее или NGINX Open Source 1.11.4 и новее
Модули Real-IP для HTTP и Stream (TCP) по умолчанию не включены в NGINX с открытым исходным кодом; подробнее см. Установка NGINX с открытым исходным кодом. Для NGINX Plus никаких дополнительных действий не требуется.
Чтобы изменить IP-адрес с IP-адреса балансировщика нагрузки на IP-адрес клиента:
Убедитесь, что вы настроили NGINX для приема заголовков протокола PROXY. См. Настройка NGINX для принятия протокола PROXY .
Убедитесь, что ваша установка NGINX включает модули HTTP и Stream Real ‑ IP:
Если нет, перекомпилируйте NGINX с этими модулями. Подробнее см. Установка NGINX с открытым исходным кодом . Для NGINX Plus никаких дополнительных действий не требуется.
В set_real_ip_fromдирективе для HTTP, Stream или обоих укажите IP-адрес или диапазон адресов CIDR прокси-сервера TCP или балансировщика нагрузки.
Если нет, перекомпилируйте NGINX с этими модулями. Подробнее см. Установка NGINX с открытым исходным кодом . Для NGINX Plus никаких дополнительных действий не требуется.
В set_real_ip_fromдирективе для HTTP , Stream или обоих укажите IP-адрес или диапазон адресов CIDR прокси-сервера TCP или балансировщика нагрузки