我需要在应用服务器中获取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服务器。有人可以帮助我如何做到这一点。
答案 0 :(得分:0)
ServletRequest
知道getServerName()
和getServerPort()
:
返回发送请求的服务器的主机名。它 是Host标头值中“:”之前的部分的值,如果有的话, 或已解析的服务器名称或服务器IP地址。
此外,它还有getLocalAddr()
(以及getLocalPort()
和getLocalName()
)
返回其上的接口的Internet协议(IP)地址 请求已收到。
在您的应用程序服务器getLocalAddr()
上使用时,将为您提供应用服务器的IP,但您可以尝试getServerName()
返回网络服务器地址。