在我的例子中,我有 Glassfish 3.1.1 / Mojarra 2.1.3
我可以在网络侦听器中删除Glassfish管理控制台中的X-Powered-By(因此它不会显示长文本:
Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.1 Java/Sun Microsystems Inc./1.6)
但它仍然显示(是,两次):
X-Powered-By: JSF/2.0
X-Powered-By: JSF/2.0
我使用Jersey和JAXB来公开一些Web服务,并使用@WebServlet Annotation部署了一些servlet,但我认为它们不会添加任何内容。
它不是由mod_jk或Apache生成的,因为即使直接连接到应用程序端口,我也会获得这些头文件(localhost:8080)
Glassfish中是否有典型的模块可以做到这一点?如何删除这些标题?
谢谢
答案 0 :(得分:11)
这是由Mojarra设定的。您可以通过在webapp的com.sun.faces.sendPoweredByHeader
中将上下文参数false
设置为web.xml
来禁用它。
<context-param>
<param-name>com.sun.faces.sendPoweredByHeader</param-name>
<param-value>false</param-value>
</context-param>
但是,它发送两次值对我来说是一个谜。这不是默认行为,在技术上也是不可能的(因为它表明ExternalContextImpl
在同一响应中构造了两次)。也许mod_jk
做错了。