Java request.getRemoteAddr()返回服务器ip

Java request.getRemoteAddr()返回服务器ip,java,rest,api,ip,Java,Rest,Api,Ip,在上面的代码中,当在服务器中运行时,它将服务器ip作为远程地址和本地地址返回。 但当作为本地主机运行时,我对不同的笔记本电脑发出了请求,它会正确返回笔记本电脑IP。 但问题是服务器没有返回发出请求的笔记本电脑的IP 请使用request.getRemoteAddr()再次更新它 getRemoteAddr()将导致问题如果客户端位于任何代理之后,则您将获得代理的IP地址 当客户端使用DHCP时,IP地址可以并且将在会话期间更改 getRemoteAddr():返回发送请求的客户端或最后一个代理的

在上面的代码中,当在服务器中运行时,它将服务器ip作为远程地址和本地地址返回。 但当作为本地主机运行时,我对不同的笔记本电脑发出了请求,它会正确返回笔记本电脑IP。
但问题是服务器没有返回发出请求的笔记本电脑的IP

请使用request.getRemoteAddr()再次更新它

getRemoteAddr()
将导致问题如果客户端位于任何代理之后,则您将获得代理的IP地址

当客户端使用DHCP时,IP地址可以并且将在会话期间更改

getRemoteAddr():返回发送请求的客户端或最后一个代理的Internet协议(IP)地址


如果在配置位置使用nginx,您必须添加:proxy\u set\u header X-Real-IP$remote\u addr;当您使用request.getRemoteAddr()时,它将返回IP客户端。这是因为某些代理。我已经使用了服务器的ip,现在它运行得很好。服务器url是一个较短的url。这就是问题所在。
@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();
}
@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();
}