如何在 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.com
或 server2-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();
我有以下(简化的)设置。
我打电话给客户http://somedomain.com/my.jsp
通过代理转发到 apache 1 或 apache 2
在我的 jsp 中,我想要 server1-domain.com
或 server2-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();