在JBoss EAP 7中配置Http标头

时间:2018-02-06 12:37:13

标签: http security jboss http-headers jboss-eap-7

您知道是否有一种标准的方法来配置JBoss EAP 7发送给客户端的Http Headers? 我主要对能够配置以下内容感兴趣:

  • X-XSS-保护
  • X框-选项
  • 严格-运输和安全
  • 内容安全-政策
  • X-的Content-Type-选项

我在互联网上找到了这个链接

https://blog.akquinet.de/2017/08/03/wildfly-8-10-and-jboss-eap-7-verbose-http-headers/

但我不确定是否可以将它用于我感兴趣的标题。

谢谢!

2 个答案:

答案 0 :(得分:8)

根据JBoss EAP 7文档:

  

以前版本的JBoss EAP支持的阀门。阀门是在servlet过滤器之前插入应用程序的请求处理管道中的自定义类,以对请求进行更改或执行其他处理。全局阀门被插入到所有已部署应用程序的请求处理管道中。 Authenticator valve验证请求的凭据。通过扩展org.apache.catalina.valves.ValveBase类并在jboss-web.xml描述符文件的元素中配置来创建阀。

     

Undertow,它取代了JBoss EAP 7中的JBoss Web,不支持阀门;但是,您应该能够通过使用Undertow处理程序实现类似的功能。 Undertow包含许多提供常用功能的内置处理程序。它还提供了创建自定义处理程序的功能,可用于替换自定义阀门功能。

你仍然可以针对复杂情况采用这种方式,但是现在利用Undertow简化了添加响应标头,因为你可以向JBoss Undertow子系统添加自定义标头,你的过滤器部分将会改变:

<filters>
    <response-header name="server-header" header-name="Server" header-value="JBoss-EAP/7"/>
    <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
</filters>


对此:

<filters>
    <response-header name="server-header" header-name="Server" header-value="JBoss-EAP/7"/>
    <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
    <!-- Begin custom Headers -->
    <response-header name="x-xss-protection" header-name="X-XSS-Protection" header-value=""/>
    <response-header name="x-frame-options" header-name="X-Frame-Options" header-value=""/>
    <response-header name="strict-transport-security" header-name="Strict-Transport-Security" header-value=""/>
    <response-header name="content-security-policy" header-name="Content-Security-Policy" header-value=""/>
    <response-header name="x-Content-type-options" header-name="X-Content-Type-Options" header-value=""/>
</filters>

我会将其留给其他所有人来确定他们要为标题添加的值(在复制/粘贴过程中保存一些编辑)

答案 1 :(得分:1)

查看Jboss EAP 7的链接: Configuring Filters

在目录JBoss EAP 7中打开standalone.xml,并在此xml中搜索“ urn:jboss:domain:undertow ”,然后添加自定义过滤器规则,例如:

<filters>
  <response-header name="server-header" header-name="Server" header-value="JBoss-EAP/7"/>
  <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
  <!--your custom rules in detail-->
  <response-header name="x-frame-options" header-name="X-Frame-Options" header-value=""/>
</filters>

不要忘记在

中添加<filter-ref name="x-frame-options"/>
<subsystem xmlns="urn:jboss:domain:undertow:4.0">
<host name="default-host" alias="localhost">
                <location name="/" handler="welcome-content"/>
                <filter-ref name="server-header"/>
                <filter-ref name="x-powered-by-header"/>
                <!--declare your custom rules here-->
                <filter-ref name="x-frame-options"/>
                <single-sign-on http-only="true" secure="true"/>
                <http-invoker security-realm="ApplicationRealm"/>
 </host>
</subsystem>