8. HttpHeadersFilters
HttpHeadersFilters 在将请求发送到下游之前应用,例如在 NettyRoutingFilter 中。
8.1. 转发头过滤器
The Forwarded Headers Filter creates a Forwarded header to send to the downstream service. It adds the Host header, scheme and port of the current request to any existing Forwarded header.
8.2. 移除逐跳头信息过滤器
Headers 过滤器(RemoveHopByHop)会从转发的请求中移除头信息。默认要移除的头信息列表来源于 IETF。
-
连接
-
Keep-Alive
-
Proxy-Authenticate
-
Proxy-Authorization
-
TE
-
预告片
-
Transfer-Encoding
-
升级
要更改此设置,请将spring.cloud.gateway.filter.remove-hop-by-hop.headers属性设置为要删除的标题名称列表。
8.3. XForwarded 头部过滤器
0 个请求头过滤器会创建各种 1 个 请求头,以便发送到下游服务。它使用 2 请求标头、当前请求的方案、端口和路径来创建各种请求头。
创建单独标头时,可以使用以下 boolean 属性进行控制(默认值为 true):
-
spring.cloud.gateway.x-forwarded.for-enabled -
spring.cloud.gateway.x-forwarded.host-enabled -
spring.cloud.gateway.x-forwarded.port-enabled -
spring.cloud.gateway.x-forwarded.proto-enabled -
spring.cloud.gateway.x-forwarded.prefix-enabled
将多个标题追加可以由以下布尔属性来控制(默认为true):
-
spring.cloud.gateway.x-forwarded.for-append -
spring.cloud.gateway.x-forwarded.host-append -
spring.cloud.gateway.x-forwarded.port-append -
spring.cloud.gateway.x-forwarded.proto-append -
spring.cloud.gateway.x-forwarded.prefix-append