统一网关Gateway
前言
`为什么需要网关?
- 身份认证和权限校验
- 服务路由、负载均衡
- 请求限流
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、过滤器工厂 GetewayFilterFactory
1.针对部分路由过滤器
给部分请求增加请求头:Truth , test add heard
,更多过滤器配置介绍查看链接:GatewayFilter Factories
spring:
cloud:
geteway:
routers: #网关路由配置
-id : xxxxxx #id唯一标识
uri: lb://xxxxx #服务名称
predicates:
-path : /xxx/** #路由地址
filters:
-AddRequestHeard: Truth , test add heard
2.全局路由过滤器
给全部请求增加请求头:Truth , test add heard
,更多过滤器配置介绍查看链接:GatewayFilter Factories
spring:
cloud:
geteway:
default-filters:
-AddRequestHeard: Truth , test add heard
3.过滤器执行顺序
- 每个过滤器都必须指定int类型的order值,order值越小,优先级越高,执行顺序靠前。
- GlobalFilter通过实现Ordered接口,或者添加@Order注解指定order值
- 路由过滤器defaultFilter的order由Spring指定,默认按照声明顺序从1递增
- 当过滤器的order值一样时,会按照defaultFilter > 路由过滤器 > GlobalFilter的顺序执行。
4.跨域问题处理
spring:
cloud:
geteway:
globacors:
add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题
corsConfigurations:
'[/**]':
allowedOrigins: #允许那些网站的跨域请求
- "http://localhost:8090"
- "http://www.csdn.net"
allowedMethods: # 允许的跨域ajax的请求方式
- "GET"
- "POST"
- "DELETE"
- "PUT"
- "OPTIONS"
allowedHeaders: "*" #允许请求中携带的头信息
allowCredentials: true # 是否允许携带cookie
maxAge: 360000 # 这次跨域检测的有效期