JBoss AS 7:如何修改http响应头中的服务器标题

时间:2012-06-08 22:59:37

标签: http jboss header response

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

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

<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显示为服务器横幅。我想要出现,但这不是必需品。

感谢任何帮助。

感谢。

Prajesh

1 个答案:

答案 0 :(得分: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