Jhipster за прокси-сервером nginx хранит IP-адрес локального сервера вместо IP-адреса запроса в таблице аудита - PullRequest
0 голосов
/ 31 января 2019

Я настраиваю кота с 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;
}

1 Ответ

0 голосов
/ 11 апреля 2019

, пожалуйста, попробуйте $ http_x_real_ip, я получил ответ от https://easyengine.io/tutorials/nginx/forwarding-visitors-real-ip

proxy_set_header X-Forwarded-For $http_x_real_ip;
...