文章目录
GateWay过滤器
路由过滤器可用于修改进入的HTTP请求和返回的HTTP响应,只能指定路由进行使用,由GatewayFilter的工厂类来产生,Gateway官方提供了很多的路由过滤器,也可以实现自己的自定义过滤器
内置过滤器
请求头/响应头过滤器
-
AddRequestHeaderGatewayFilterFactory
-
AddResponseHeaderGatewayFilterFactory
-
DedupeResponseHeaderGatewayFilterFactory 处理重复响应头
有三种策略 RETAIN_FIRST、RETAIN_LAST、RETAIN_UNIQUE
spring: cloud: gateway: default-filters: - DedupeResponseHeader=Access-Control-Allow-Credentials, RETAIN_LAST #规则写在最后
-
PreserveHostHeaderGatewayFilterFactory
-
RemoveRequestHeaderGatewayFilterFactory
-
RemoveResponseHeaderGatewayFilterFactory
-
RequestHeaderSizeGatewayFilterFactory
-
SecureHeadersGatewayFilterFactory
-
SetRequestHeaderGatewayFilterFactory
-
SetResponseHeaderGatewayFilterFactory
请求参数过滤器
-
AddRequestParameterGatewayFilterFactory
spring: cloud: gateway: default-filters: - AddRequestHeader=X-Request-red, blue
-
RemoveRequestParameterGatewayFilterFactory
路径过滤器
-
PrefixPathGatewayFilterFactory 为匹配的url添加指定前缀
spring: cloud: gateway: default-filters: - PrefixPath=/mypath # 增加指定前缀,如/hello变成/mypath/hello
-
RewritePathGatewayFilterFactory 采用正则表达式替换参数
spring: cloud: gateway: default-filters: - RewritePath=/red/?(?<segment>.*), /$\{ segment} # 两个参数,一个是请求路径的正则表达式,一个是替换的路径参数,如/red/blue会变成/blue
-
SetPathGatewayFilterFactory
-
StripPrefixGatewayFilterFactory 在将请求发送到下游之前从请求中剥离的路径个数
spring: cloud: