如何在java应用程序中获取Webserver的IP

时间:2015-07-30 14:15:24

标签: java load-balancing

我需要在应用服务器中获取Webserver的IP。我们的申请结构如下:

我们有2个负载均衡器,在每个负载均衡器下,我们每个都有3个Web服务器,在这6个Web服务器下,我们有3个应用服务器。

现在来自:

request.getRemoteAddr(); // This gives me the client IP
InetAddress.getLocalHost(); // This gives me my application server IP
request.getHeader("X-FORWARDED-FOR"); // and this gives me null value 

我想获取我的Webserver Ip以检查我收到请求的Web服务器。有人可以帮助我如何做到这一点。

1 个答案:

答案 0 :(得分:0)

ServletRequest知道getServerName()getServerPort()

  

返回发送请求的服务器的主机名。它   是Host标头值中“:”之前的部分的值,如果有的话,   或已解析的服务器名称或服务器IP地址。

此外,它还有getLocalAddr()(以及getLocalPort()getLocalName()

  

返回其上的接口的Internet协议(IP)地址   请求已收到。

在您的应用程序服务器getLocalAddr()上使用时,将为您提供应用服务器的IP,但您可以尝试getServerName()返回网络服务器地址。