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

标签 java apache jsp jboss reverse-proxy

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

Setup

从客户端我调用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”,因为我不是集群上唯一的人...最佳解决方案是不必对域 Controller /负载平衡器/apaches 进行任何更改

我可以仅通过 JSP 方法/参数获取它吗?

最佳答案

我最终使用了这个:

字符串主机名 = InetAddress.getLocalHost().getHostName();

关于java - 如何在jsp中获取真实的服务器名称,而不是代理的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178391/

相关文章:

用于 Web 的 Java 开发

java - 用于启动 Java 应用程序的微型 exe

java - 如何将原始 XML 文本添加到 SOAPBody 元素

c++ - 在 Debug模式下运行的 CGI 程序

java - JSP for 循环根据记录数插入页脚

java - 有谁知道这段代码是否可以重构?如果是的话怎么办?

php - .htaccess 中的特定重定向不起作用

apache - IndexIgnore *或选项-Indexes

Spring 形式 :select multiple selected value?

java - 从表中的按钮调用 servlet