Если сервер веб-приложений (например, nginx и php-fpm ) находится за балансировщиком нагрузки, например AWS-ELB :
Клиент -> Балансировщик нагрузки -> Сервер веб-приложений
Чтобы получить реальный IP-адрес клиента из веб-приложения, я могу реализовать два способа:
Обработка прямого IP-адреса на веб-сервере, как настройка модуля реального IP nginx .
Обработка прямого IP-адреса в веб-приложении, как изменение получения IP-адреса путем прямого заголовка от доверенного прокси.
Какой способ лучше для всех? или есть другие способы лучше?
Спасибо.
Наконец, я решил обработать прямой IP-адрес на веб-сервере через модуль реального IP nginx .
Обработка приложений, которые также должны делать то же самое для веб-сервера, чтобы вести журнал доступа с правильным IP.
Немного больше производительности.
Веб-приложению не нужно слишком глубоко знать структуру сети, что может улучшить спецификацию работы.
Если вы используете Apache в качестве веб-сервера, mod_remoteip Module может сделать то же самое для реального IP.