Java 如何在jsp中获得真正的服务器名,而不是代理';姓名
我有以下(简化)设置。 从客户端我调用Java 如何在jsp中获得真正的服务器名,而不是代理';姓名,java,apache,jsp,jboss,reverse-proxy,Java,Apache,Jsp,Jboss,Reverse Proxy,我有以下(简化)设置。 从客户端我调用http://somedomain.com/my.jsp 通过代理将其转发到apache 1或apache 2 在我的jsp中,我想要server1 domain.com或server2 domain.com而不是somedomain.com request.getServerName()为我提供了somedomain.com标题中的“主机”参数也是somedomain.com 这看起来很相似,但恰恰相反: 但是我不能打开“ProxyPreserveHos
http://somedomain.com/my.jsp
通过代理将其转发到apache 1或apache 2
在我的jsp中,我想要server1 domain.com
或server2 domain.com
而不是somedomain.com
request.getServerName()
为我提供了somedomain.com
标题中的“主机”参数也是somedomain.com
这看起来很相似,但恰恰相反:
但是我不能打开“ProxyPreserveHost”,因为我不是集群中唯一的一个。。。最佳解决方案是不必对domaincontroller/loadbalancer/apaches进行任何更改
我可以通过JSP方法/param获得它吗?我最终使用了以下方法:
String hostname=InetAddress.getLocalHost().getHostName()代码>您是否尝试过X-Forwarded-For或X-Forwarded-Host等X-Forwarded标头?请看一看,没有X-Forwarded标头。。我现在要试试这个:String hostname=InetAddress.getLocalHost().getHostName()代码>。在spring控制器中看起来很有希望(在本地测试)。我仍然在集群开发环境上构建和部署。@andrucz您链接到了我在问题中提到的同一个问题…:-)我的错。我没有完全阅读你的问题:)