Java 获取发送方';s IP

Java 获取发送方';s IP,java,http,jsp,request,response,Java,Http,Jsp,Request,Response,我有一个tomcat应用程序在443端口上运行, 此应用程序接收来自多个应用程序服务器的密码身份验证请求。 我很高兴。来自多个应用程序的用户访问此应用程序(在443上)在web浏览器上进行密码验证,并在验证后返回 其目标是为特定服务器绑定我的应用程序(运行在443上) 我曾尝试获取我从中获得请求的系统的ip,但没有成功 request.getRemoteAddr(); request.getRemoteHost(); 返回打开网页的客户端IP 我需要向我发送请求的服务器的ip 我也试过了

我有一个tomcat应用程序在443端口上运行, 此应用程序接收来自多个应用程序服务器的密码身份验证请求。 我很高兴。来自多个应用程序的用户访问此应用程序(在443上)在web浏览器上进行密码验证,并在验证后返回

其目标是为特定服务器绑定我的应用程序(运行在443上)

我曾尝试获取我从中获得请求的系统的ip,但没有成功

 request.getRemoteAddr();
 request.getRemoteHost();
返回打开网页的客户端IP

我需要向我发送请求的服务器的ip

我也试过了

request.getServerName();
但是我获得的是我自己服务器的ip,而不是您可能想要使用的发送方

request.getServerName();

确定客户端要向谁发送地址。

您是说这些应用程序服务器充当代理,最终用户从未连接到您的服务器?那么发送方就是客户端。。。我不完全理解这种情况:客户端向服务器A发送用户名+密码。ServerA检索信息并将其转发给Tomcat应用程序。您的应用程序将响应发送回服务器a,然后服务器a将响应转发回客户端。是否正确?最终用户只能看到密码页。就像现在信用卡交易的方式一样。你让你的银行页面进入transaction Passwordok,因此你的应用程序是某种SSO身份验证代理?那么你就没有安全的方法来删除重定向到你的应用程序的服务器。你可以试试这个。如果你需要更可靠的机制,你必须在其他服务器和你的应用程序之间协商令牌。这将返回我自己的服务器(tomcat)的ip。你是否使用重写请求的Web服务器(如apache和mod_rewrite?)。如果是:如果你只想在java中这样做,你就输了。如果否:请提供有关请求如何到达tomcat的技术数据(包括该信息通过您控制的服务器的每个点)