request.getRemoteAddr () возвращает ip сервера - PullRequest
0 голосов
/ 01 ноября 2018
@RequestMapping(value = "/origin/test/", method = RequestMethod.GET, headers = "Accept=application/json")
public String getTest(@Context HttpServletRequest request) {
    String Text = "Version - " + org.hibernate.Version.getVersionString();
    return Text+request.getRemoteAddr()+"----"+request.getLocalAddr();
}

В приведенном выше коде при запуске на сервере он возвращает IP-адрес сервера в качестве удаленного адреса, а также локальный адрес. Но когда я работал как localhost, я сделал запрос на другом ноутбуке, он вернул этот IP-адрес ноутбука правильно. Но проблема в том, что сервер не возвращает IP-адрес ноутбука, который сделал запрос.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

getRemoteAddr() вызовет проблемы, если клиент находится за каким-либо прокси, тогда вы получите IP-адрес прокси

А когда клиент использует DHCP, тогда IP-адрес может и будет меняться во время сеанса.

getRemoteAddr (): возвращает IP-адрес клиента или последнего прокси-сервера, отправившего запрос.

0 голосов
/ 01 ноября 2018

Пожалуйста, обновите его снова, используйте request.getRemoteAddr ()

@RequestMapping(value = "/origin/test/", method = RequestMethod.GET, headers = "Accept=application/json")
public String getTest(@Context HttpServletRequest request) {
    String Text = "Version - " + org.hibernate.Version.getVersionString();
    return Text+request.getRemoteAddr()+"----"+request.getRemoteAddr();
}
...