文章目录
-
- 前言
- 默认网关过滤器
-
- AddRequestHeader
- AddRequestParameter
- AddResponseHeader
- DedupeResponseHeader
- CircuitBreaker
- FallbackHeaders
- MapRequestHeader
- PrefixPath
- PreserveHostHeader
- RequestRateLimiter
- RedirectTo
- RemoveRequestHeader
- RemoveResponseHeader
- RemoveRequestParameter
- RewritePath
- RewriteLocationResponseHeader
- RewriteResponseHeader
- SaveSession
- SecureHeaders
- SetPath
- SetRequestHeader
- SetResponseHeader
- SetStatus
- StripPrefix
- Retry
- RequestSize
- SetRequestHostHeader
- ModifyRequestBody
- Token Relay
- Default Filters
前言
Spring Cloud Gateway 中的 Filter分为两种类型,分别是Gateway Filter和Global Filter。过滤器将会对请求和响应进行处理.。比如添加参数、URL重写等。
GatewayFilter
是一个接口,其有很多实现类,这是 Spring Cloud Gateway已经提供了的,使用的时候只需要在yml中配置即可。
默认网关过滤器
Spring Cloud Gateway 定义的网关过滤器看类名就能见名知意。
AddRequestHeader
AddRequestHeader
需要name和value参数。
spring:
cloud:
gateway:
routes:
- id: add_request_header_route
uri: https://example.org
filters:
- AddRequestHeader=X-Request-red, blue
示例表示将X-Request-red:blue消息头添加到所有匹配请求的下游请求消息头中。
AddRequestParameter
AddRequestParamete
需要name和value参数。
spring:
cloud:
gateway:
routes:
- id: add_request_parameter_route
uri: https://example.org
filters:
- AddRequestParameter=red, blue
表示将red=blue添加到下游请求参数中。
AddResponseHeader
AddResponseHeader
需要name和value参数。
spring:
cloud:
gateway:
routes:
- id: add_response_header_route
uri: https://example.org
filters:
- AddResponseHeader=X-Response-Red, Blue
表示将X-Response-Foo:Bar添加到所有匹配请求的下游响应消息头中。
DedupeResponseHeader
DedupeResponseHeader
剔除重复的响应头,接受一个name参数和一个可选strategy参数。name可以包含以空格分隔的标题名称列表。
spring:
cloud:
gateway:
routes:
- id: dedupe_response_header_route
uri: https://example.org
filters:
- DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin
如果网关 CORS 逻辑和下游逻辑都添加了响应头Access-Contro