SpringCloud gateway HttpHeadersFilters

发布时间 2023-05-07 12:29:10作者: shigp1

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

1、 Forwarded Headers Filter

Forwarded Headers Filter创建一个Forwarded标头以发送到下游服务。它将当前请求的Host标头、scheme和端口添加到任何现有的Forwarded标头中。

2、RemoveHopByHop Headers Filter

RemoveHopByHop Headers Filter从转发的请求中删除标头。被删除的头的默认列表来自IETF。

默认删除的标头为:

  • Connection

  • Keep-Alive

  • Proxy-Authenticate

  • Proxy-Authorization

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

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

3、XForwarded Headers Filter

XForwarded Headers Filter创建各种X-Forwarded-*头,发送到下游服务。它使用当前请求的主机标头、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