当前位置: 代码迷 >> java >> 如何在Java应用程序中获取Web服务器的IP
  详细解决方案

如何在Java应用程序中获取Web服务器的IP

热度:56   发布时间:2023-07-17 20:53:34.0

我需要在应用程序服务器中获取Web服务器的IP。 我们的应用程序结构如下:

我们有2个负载均衡器,在每个负载均衡器下,我们每个都有3个Web服务器,在这6个Webserver下,我们有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 

我也想获取我的Web服务器IP,以检查我从哪个Web服务器获取请求。 有人可以帮我怎么做吗。

ServletRequest知道getServerName()getServerPort()

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

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

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

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