HttpHeadersFilters
HttpHeadersFilters 在请求发送到下游(例如 NettyRoutingFilter)之前应用。
Forwarded Headers 过滤器
Forwarded Headers 过滤器创建一个 Forwarded 头部,用于发送到下游服务。它将当前请求的 Host 头部、方案和端口添加到任何现有的 Forwarded 头部中。要激活此过滤器,请将 spring.cloud.gateway.server.webmvc.trusted-proxies 属性设置为 Java 正则表达式。此正则表达式定义了在 Forwarded 头部中出现的受信任代理。
RemoveHopByHop Headers 过滤器
RemoveHopByHop Headers 过滤器从转发的请求中移除头部。要移除的头部默认列表来自 IETF。
-
Connection
-
Keep-Alive
-
Proxy-Authenticate
-
Proxy-Authorization
-
TE
-
Trailer
-
Transfer-Encoding
-
Upgrade
XForwarded Headers 过滤器
XForwarded Headers 过滤器创建各种 X-Forwarded-* 头部,用于发送到下游服务。它使用当前请求的 Host 头部、方案、端口和路径来创建各种头部。要激活此过滤器,请将 spring.cloud.gateway.server.webmvc.trusted-proxies 属性设置为 Java 正则表达式。此正则表达式定义了在 Forwarded 头部中出现的受信任代理。
单个头部的创建可以通过以下布尔属性(默认为 true)进行控制
-
spring.cloud.gateway.server.webmvc.x-forwarded.for-enabled -
spring.cloud.gateway.server.webmvc.x-forwarded.host-enabled -
spring.cloud.gateway.server.webmvc.x-forwarded.port-enabled -
spring.cloud.gateway.server.webmvc.x-forwarded.proto-enabled -
spring.cloud.gateway.server.webmvc.x-forwarded.prefix-enabled
多个头部的追加可以通过以下布尔属性(默认为 true)进行控制
-
spring.cloud.gateway.server.webmvc.x-forwarded.for-append -
spring.cloud.gateway.server.webmvc.x-forwarded.host-append -
spring.cloud.gateway.server.webmvc.x-forwarded.port-append -
spring.cloud.gateway.server.webmvc.x-forwarded.proto-append -
spring.cloud.gateway.server.webmvc.x-forwarded.prefix-append