目录
使用
Gateway底层是使用Ribbon来实现负载均衡的
新建模块,端口5001
1、引入依赖
spring-boot-starter-web里存在tomcat,spring-cloud-starter-gateway里有netty,会冲突
2、yml
3、properties或者yml选择一个
4、主启动类
工作机制
Predicate断言
1、After Route Predicate
XML
- After=2022-08-18T12:35:00.000+08:00[Asia/Shanghai]
2、Before Route Predicate
3、Between Route Predicate(时间范围内)
XML
- Between=2020-03-12T15:44:15.064+08:00[Asia/Shanghai],2020-04-12T15:44:15.064+08:00[Asia/Shanghai]
4、Cookie Route Predicate
需要两个参数,一个是 Cookie name,一个是正则表达式,也可以是具体的值
5、Header Route Predicate
两个参数:一个是属性名称和一个正则表达式,这个属性值和正则表达式匹配执行
6、Host Route Predicate
postman测试
或者修改hosts文件访问
7、Method Route Predicate
8、Path Route Predicate
9、Query Route Predicate
请求时必须携带指定参数
支持传入两个参数,一个是属性名,一个是属性值,属性值可以是正则表达式。
10、RemoteAddr Route Predicate
请求转发的IP是127.0.0.1才能断言成功
Filter过滤器(鉴权)
GatewayFilter
原生使用少
需求:请求后携带参数color=blue,address=beijing
在服务提供方可以通过request来查看是否携带参数
GlobalFilter
自定义全局GlobalFilter过滤器
需求:如果请求参数user=hspedu,pwd=123456则放行,否则不能通过验证