HttpHeadersFilters

HttpHeadersFilters 在将请求发送到下游服务(例如在 NettyRoutingFilter 中)之前应用。

Forwarded Headers 过滤器

Forwarded Headers 过滤器会创建一个 Forwarded 头部并发送给下游服务。它会将当前请求的 Host 头部、scheme 和端口添加到任何已存在的 Forwarded 头部中。

RemoveHopByHop Headers 过滤器

RemoveHopByHop Headers 过滤器会从转发的请求中移除头部。默认的要移除的头部列表来自 IETF

默认移除的头部有
  • Connection

  • Keep-Alive

  • Proxy-Authenticate

  • Proxy-Authorization

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

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

XForwarded Headers 过滤器

XForwarded Headers 过滤器会创建各种 X-Forwarded-* 头部并发送给下游服务。它使用当前请求的 Host 头部、scheme、端口和路径来创建各种头部。

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