【问题标题】:Suppress Jboss version details from HTTP error response从 HTTP 错误响应中抑制 Jboss 版本详细信息
【发布时间】:2016-07-24 22:26:31
【问题描述】:

我的 jboss 版本是 Jboss EAP 6.3

当 Jboss 发回任何类型的错误响应时,它会将服务器信息添加到响应中。以下是示例行响应:

HTTP/1.1 400 错误请求 服务器:Apache-Coyote/1.1 内容类型:text/html;charset=utf-8 内容长度:2391 日期:2016 年 7 月 19 日星期二 09:30:46 GMT 连接:关闭

JBoss Web/7.4.8.Final-redhat-4 - JBWEB000064:错误报告

JBWEB000065:HTTP 状态 400 - org.codehaus.jackson.map.JsonMappingException:无法从字符串值“XYZ”构造 mybean.type 的实例:值不是声明的枚举实例名称之一 在 [来源:org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl$InputStreamWrapper@5e421c2b; line: 14, column: 26] (通过引用链: RequestArgs["request"])

JBWEB000309:类型 JBWEB000067:状态报告

JBWEB000068:消息 org.codehaus.jackson.map.JsonMappingException:无法从字符串值'XYZ'构造mybean.type的实例:值不是声明的枚举实例名称之一 在 [来源:org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl$InputStreamWrapper@5e421c2b; line: 14, column: 26] (通过引用链: RequestArgs["request"])

JBWEB000069:描述 JBWEB000120:客户端发送的请求语法错误。

JBoss Web/7.4.8.Final-redhat-4


这里,服务器版本可以在启动服务器时使用“-Dorg.apache.coyote.http11.Http11Protocol.SERVER=MyServer”参数替换为任何服装名称。 但是如何替换标题和页脚中指定的“JBoss Web/7.4.8.Final-redhat-4”?

通过创建自定义错误页面(针对每个错误,例如 error_400.html、error_500.html 等),可以解决此问题,但需要动态包含的实际错误消息存在挑战。

是否有任何简单的方法可以从使用 Jboss 发送的所有响应中抑制任何与 jboss 版本相关的信息?

【问题讨论】:

    标签: java jboss jboss-eap-6 jboss-eap-7


    【解决方案1】:

    对于这个问题,您需要在 JBoss EAP 级别配置自定义错误页面。

    1. 创建自定义ROOT App,提供自定义错误页面如下:

      • 在standalone-*.xml 或domain.xml 中设置enable-welcome-root="false" 在then web 子系统中。
      • 使用包含所有 http 错误的错误页面的 web.xml 部署基本 ROOT.war 存档。

    当 enable-welcome-root="true" 时,页面为 EAP 6 中的welcome-content 文件夹提供服务,当您点击 localhost:8080 时,您可以看到 index.html 页面出现在欢迎文件夹中。现在,如果您部署自定义 ROOT.war,您将看到您提供的自定义错误页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      相关资源
      最近更新 更多