8. HttpHeadersFilters

HttpHeadersFilters 在将请求发送到下游之前应用于请求,例如在NettyRoutingFilter。

8.1. 转发标头过滤器

Forwarded标头过滤器创建一个Forwarded标头以发送到下游服务。它将Host当前请求的标头、方案和端口添加到任何现有Forwarded标头。

8.2. RemoveHopByHop 标头过滤器

RemoveHopByHop标头过滤器从转发的请求中删除标头。删除的默认标头列表来自IETF

默认删除的标题是:

  • Connection

  • Keep-Alive

  • Proxy-Authenticate

  • Proxy-Authorization

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

要更改此设置,请将spring.cloud.gateway.filter.remove-hop-by-hop.headers属性设置为要删除的标头名称列表。

8.3. XForwarded 标头过滤器

XForwarded标头过滤器创建各种X-Forwarded-*标头以发送到下游服务。它使用Host当前请求的标头、方案、端口和路径来创建各种标头。

可以通过以下布尔属性控制单个标题的创建(默认为 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