您知道是否有一种标准的方法来配置JBoss EAP 7发送给客户端的Http Headers? 我主要对能够配置以下内容感兴趣:
我在互联网上找到了这个链接
https://blog.akquinet.de/2017/08/03/wildfly-8-10-and-jboss-eap-7-verbose-http-headers/
但我不确定是否可以将它用于我感兴趣的标题。
谢谢!
答案 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>