如何在 jsp 中获取真实的服务器名称,而不是代理的名称

How do I get the real server name in jsp, not the proxy's name

我有以下(简化的)设置。

我打电话给客户http://somedomain.com/my.jsp 通过代理转发到 apache 1 或 apache 2

在我的 jsp 中,我想要 server1-domain.comserver2-domain.com 而不是 somedomain.com

request.getServerName() 在 header 中给我 somedomain.com 'Host' 参数也是 somedomain.com

看似相似却恰恰相反:tomcat-getheaderhost-vs-getservername

但我不能关闭 'ProxyPreserveHost',因为我不是集群中唯一的人...最佳解决方案是不必对 domaincontroller/loadbalancer/apaches

进行任何更改

我可以通过 JSP method/param 获得吗?

我最终使用了这个:

String hostname = InetAddress.getLocalHost().getHostName();