17.6. 配置过滤器
过滤器允许修改请求的一些方面,并可使用 predicates 控制过滤器执行的时间。过滤器的一些常见用例包括设置标头或执行 GZIP 压缩。
注意
过滤器的功能等同于旧版 JBoss EAP 中使用的全局 valve。
可以定义以下类型的过滤器:
- custom-filter
- error-page
- expression-filter
- gzip
- mod-cluster
- request-limit
- response-header
- rewrite
JBoss EAP 默认提供两个过滤器:
默认 Undertow 子系统配置
<subsystem xmlns="urn:jboss:domain:undertow:3.1"> <buffer-cache name="default"/> <server name="default-server"> ... </server> <servlet-container name="default"> ... </servlet-container> <handlers> ... </handlers> <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> </subsystem>
更新现有过滤器
更新现有过滤器:
/subsystem=undertow/configuration=filter/response-header=server-header:write-attribute(name=header-value,value="JBoss-EAP")
reload
创建新过滤器
要创建新过滤器,请执行以下操作:
/subsystem=undertow/configuration=filter/response-header=new-response-header:add(header-name=new-response-header,header-value="My Value")
删除过滤器
删除过滤器:
/subsystem=undertow/configuration=filter/response-header=new-response-header:remove
reload
如需可用于配置过滤器的属性的完整列表,请参见 Undertow 子系统属性 部分。