【问题标题】:How to remove (duplicate) X-Powered-By: JSF/2.0如何删除(重复的)X-Powered-By: JSF/2.0
【发布时间】:2012-01-13 04:50:47
【问题描述】:

在我的例子中,我有 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 注释部署了一些 servlet,但我认为它们没有添加任何东西。

它不是由 mod_jk 或 Apache 生成的,因为即使直接连接到应用程序端口 (localhost:8080) 我也会得到这些标头

Glassfish 中是否有典型的模块可以做到这一点?如何删除这些标头?

谢谢

【问题讨论】:

    标签: jsf-2 http-headers glassfish-3


    【解决方案1】:

    它是由 Mojarra 设定的。您可以通过在 webapp 的 web.xml 中将上下文参数 com.sun.faces.sendPoweredByHeader 设置为 false 来禁用它。

    <context-param>
        <param-name>com.sun.faces.sendPoweredByHeader</param-name>
        <param-value>false</param-value>
    </context-param>
    

    但是,它两次发送值对我来说是个谜。这不是默认行为并且在技术上是不可能的(因为它表明ExternalContextImpl 在同一响应上被构造了两次)。也许mod_jk 做错了什么。

    【讨论】:

    • 谢谢!它看起来没有很好的文档记录(或者我是一个非常糟糕的“谷歌人”)。即使使用您的解决方案,我也只能在 Google 中找到一个提及(并且我在搜索关键字中使用了 sendPoweredByHeader :S )此外,使用此配置,两行都被删除了......我在我的机器上测试时没有使用 mod_jk (我将编辑帖子以进行澄清)
    • 如果您使用 glassfish,您还需要明确告诉 glassfish 不要将其包含在标题中。有关说明,请参阅blogs.oracle.com/alexismp/entry/…
    猜你喜欢
    • 2012-05-29
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 2021-05-06
    • 2023-02-01
    • 1970-01-01
    相关资源
    最近更新 更多