HttpHeadersFilters

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

Forwarded Headers Filter

Forwarded 头部过滤器创建一个 Forwarded 头部,用于发送到下游服务。它将当前请求的 Host 头部、方案和端口添加到任何现有的 Forwarded 头部中。要激活此过滤器,请将 spring.cloud.gateway.server.webflux.trusted-proxies 属性设置为 Java 正则表达式。此正则表达式定义了在 Forwarded 头部中出现的受信任代理。

可以通过将以下属性设置为 true(默认为 false)来启用 Forwarded by 头部部分:

  • spring.cloud.gateway.server.webflux.forwarded.by.enabled=true

RemoveHopByHop Headers Filter

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

默认移除的头部包括:
  • Connection

  • Keep-Alive

  • Proxy-Authenticate

  • Proxy-Authorization

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

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

XForwarded Headers Filter

XForwarded 头部过滤器创建各种 X-Forwarded-* 头部,用于发送到下游服务。它使用当前请求的 Host 头部、方案、端口和路径来创建各种头部。要激活此过滤器,请将 spring.cloud.gateway.server.webflux.trusted-proxies 属性设置为 Java 正则表达式。此正则表达式定义了在 Forwarded 头部中出现的受信任代理。

可以通过以下布尔属性(默认为 true)控制单个头部的创建:

  • spring.cloud.gateway.server.webflux.x-forwarded.for-enabled

  • spring.cloud.gateway.server.webflux.x-forwarded.host-enabled

  • spring.cloud.gateway.server.webflux.x-forwarded.port-enabled

  • spring.cloud.gateway.server.webflux.x-forwarded.proto-enabled

  • spring.cloud.gateway.server.webflux.x-forwarded.prefix-enabled

可以通过以下布尔属性(默认为 true)控制多个头部的追加:

  • spring.cloud.gateway.server.webflux.x-forwarded.for-append

  • spring.cloud.gateway.server.webflux.x-forwarded.host-append

  • spring.cloud.gateway.server.webflux.x-forwarded.port-append

  • spring.cloud.gateway.server.webflux.x-forwarded.proto-append

  • spring.cloud.gateway.server.webflux.x-forwarded.prefix-append

© . This site is unofficial and not affiliated with VMware.