Я настраиваю кота с JHipster 4.10.2 за прокси-сервером NGINX, и все работает хорошо, но когда я перехожу в представление Audit, чтобы показать зарегистрированного пользователя ... сохраненный IP-адрес всегда является IP-адресом сервера.Иногда сохраненный IP-адрес является локальным IP-адресом 127.0.0.1, а в других случаях - общедоступным IP-адресом сервера, а не клиентским / пользовательским IP-адресом, вошедшим в приложение.
Я проверил код Java для получения IP-адресаадрес из запроса:
request.getHeader("X-FORWARDED-FOR")
И таким образом я получаю правильный IP-адрес (реальный IP-адрес от пользователя, который делает вызов), но я не знаю, какой класс Java я могу изменить или расширить, чтобы получитьIP-адрес, используя этот способ.
Я использую флаг use-forward-headers в true для application.yml и application-prod.yml
server.use-forward-headers = true
nginx config:
location /myapp {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/myapp;
index index.html index.htm;
}