从HTTP错误响应

时间:2016-07-19 11:10:38

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

我的jboss版本是Jboss EAP 6.3

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

HTTP / 1.1 400错误请求 服务器:Apache-Coyote / 1.1 Content-Type: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:无法构造mybean的实例。从字符串值'XYZ'键入:值不是声明的枚举实例名称之一  在[来源:org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl$InputStreamWrapper@5e421c2b; line:14,column:26](通过引用链:RequestArgs [“request”])

JBWEB000309:type JBWEB000067:状态报告

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

JBWEB000069:description JBWEB000120:客户端发送的请求在语法上是不正确的。< / p>

JBoss Web / 7.4.8.Final-redhat-4

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

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

有没有简单的方法来阻止使用Jboss发送的所有响应中的任何jboss版本相关信息?

1 个答案:

答案 0 :(得分:0)

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

  1. 创建自定义ROOT应用以提供自定义错误页面,如下所示:

    • set enable-welcome-root =&#34; false&#34;在独立 - 当前Web子系统中的* .xml或domain.xml。
    • 使用包含所有http错误的错误页面的web.xml部署基本的ROOT.war存档。
  2. 当,enable-welcome-root =&#34; true&#34;时,页面将被提供给EAP 6中的欢迎内容文件夹,当您点击例如localhost:8080时,您可以看到的是索引欢迎文件夹中的.html页面。现在,如果部署自定义ROOT.war,您将看到您提供的自定义错误页面。