0

我有一个在以下两种设置中运行的 Web 应用程序:1)在 Windows7 上运行的 JBoss 和 2)在 CentOS 上使用 apache httpd 反向代理运行的 JBoss。

为了使用 org.jboss.web.tomcat.filters.ReplyHeaderFilter 类,我下载并添加了 jbossWebService.jar 到 WEB-INF/lib 目录。以下是我的过滤器配置。

<filter>

<filter-name>CommonHeadersFilter</filter-name>

<filter-class>

org.jboss.web.tomcat.filters.ReplyHeaderFilter</filter-class>

<init-param>

<param-name>X-Powered-By</param-name>

<param-value>MyWeb</param-value>

</init-param>

<init-param>

     <param-name>Server</param-name>

     <param-value>MyServer</param-value>

</init-param>

</filter>

在 apache httpd conf 文件中,我有以下内容,修改其中没有任何效果。

ServerTokens ProductOnly 
ServerSignature Off

我在浏览器中看到的:

没有 apache httpd 的 JBoss 显示如下:

X-Powered-By: MyWeb, JSP/2.2

服务器:Apache-Coyote/1.1,MyServer

使用 apache 作为反向代理的 JBoss 显示如下:

X-Powered-By: MyWeb, JSP/2.2

服务器:Apache-Coyote/1.1

我想要的是:

Apache-Coyote/1.1 和 JSP/2.2 离开了。apache httpd 后面的那个甚至没有将 MyServer 显示为服务器横幅。我希望它出现,但这不是必需的。

任何帮助表示赞赏。

谢谢。

普拉杰什

4

1 回答 1

1

设置系统属性 org.apache.coyote.http11.Http11Protocol.SERVER 似乎在 JBoss AS 7.1.1.Final 中有效

<system-properties>
<property name="org.apache.coyote.http11.Http11Protocol.SERVER" value="secretserver"/>
</system-properties>

尽管警告上面提到的系统属性('org.apache.coyote.http11.Http11Protocol.SERVER')在最新版本的 JBoss Web 的 sys 属性文档中不存在,所以如果设置该属性不起作用,那么可能是您正在使用的 JBoss Web 版本中缺少,编写自定义过滤器可能是唯一的选择:(

http://docs.jboss.org/jbossweb/latest/sysprops.html

于 2012-07-25T13:54:33.233 回答