Gateway网关匹配规则
Gateway匹配规则
重要概念
路由 route
断言 predicate
过滤器 fliter
一、时间匹配
在 after 时间之后的所有请求转发到 URI中的地址
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: time_route
uri: https://www.baidu.com
predicates:
- After=2018-01-20T06:06:06+08:00[Asia/Shanghai]
在 before 时间之前的所有请求转发到 URI中的地址
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: time_route
uri: https://www.baidu.com
predicates:
- After=2018-01-20T06:06:06+08:00[Asia/Shanghai]
Between 在这个时间段可以访问
- Between=2018-01-20T06:06:06+08:00[Asia/Shanghai], 2019-01-20T06:06:06+08:00[Asia/Shanghai]
二、通过 Cookie 匹配
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: cookie_route
uri: https://www.baidu.com
predicates:
- Cookie=know, abc
三、通过 Header 匹配
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: cookie_route
uri: https://www.baidu.com
predicates:
- Header=X-Request-Id, \d+
四、通过 Host 匹配
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: cookie_route
uri: https://www.baidu.com
predicates:
- Host=**.baidu.com
五、通过 Method 匹配
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: cookie_route
uri: https://www.baidu.com
predicates:
- Method=GET
六、通过 Path 匹配
请求中包含 smile 属性的参数即可匹配路由。
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: cookie_route
uri: https://www.baidu.com
predicates:
- Path=/test/{1}
七、通过 参数 匹配
请求中包含 keep 属性并且参数值是以 pu 开头的长度为三位的字符串才会进行匹配和路由
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: cookie_route
uri: https://www.baidu.com
predicates:
- Query=keep, selp.
八、通过 ip 地址
gateway:
discovery:
locator:
enabled: true #启动服务中心注册与发现,通过服务id访问服务
lower-case-service-id: true
routes:
- id: cookie_route
uri: https://www.baidu.com
predicates:
- RemoteAddr=192.168.1.1/24
一个请求满足多个路由的谓词条件时,请求只会被首个成功匹配的路由转发
Gateway网关匹配规则的更多相关文章
- 实战四:Gateway网关作全局路由转发
Gateway网关的作用主要是两个:路由转发,请求过滤.此篇讲的是路由转发,下篇介绍请求过滤. 一,创建网关module,添加依赖 1,new -> module -> maven 或直接 ...
- Spring Cloud实战 | 第十一篇:Spring Cloud Gateway 网关实现对RESTful接口权限控制和按钮权限控制
一. 前言 hi,大家好,这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT实现的统 ...
- Gateway网关
前提要在注册中心把网关和服务都进行注册 通俗来说,网关就是指在客户端和服务端的一面墙,这面墙有请求转发,负载均衡,权限控制,跨域,熔断降级,限流保护等功能. 客户端发送请求,请求先通过网关,网关根据特 ...
- SpringCloud(四)GateWay网关
GateWay网关 概述简介 Gateway是在 Spring生态系统之上构建的AP网关服务,基于 Spring5, Spring Boot2和 Project Reactor等技术. Gateway ...
- SpringBoot简单整合Gateway网关
引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>s ...
- 【SpringCloud技术专题】「Gateway网关系列」(3)微服务网关服务的Gateway全流程开发实践指南(2.2.X)
开发指南须知 本次实践主要在版本:2.2.0.BUILD-SNAPSHOT上进行构建,这个项目提供了构建在Spring生态系统之上API网关. Spring Cloud Gateway的介绍 Spri ...
- Spring Cloud gateway 网关服务二 断言、过滤器
微服务当前这么火爆的程度,如果不能学会一种微服务框架技术.怎么能升职加薪,增加简历的筹码?spring cloud 和 Dubbo 需要单独学习.说没有时间?没有精力?要学俩个框架?而Spring C ...
- Spring Cloud gateway 网关四 动态路由
微服务当前这么火爆的程度,如果不能学会一种微服务框架技术.怎么能升职加薪,增加简历的筹码?spring cloud 和 Dubbo 需要单独学习.说没有时间?没有精力?要学俩个框架?而Spring C ...
- 0.9.0.RELEASE版本的spring cloud alibaba sentinel+gateway网关实例
sentinel除了让服务提供方.消费方用之外,网关也能用它来限流.我们基于上次整的网关(参见0.9.0.RELEASE版本的spring cloud alibaba nacos+gateway网关实 ...
随机推荐
- redis淘汰+过期双向保证高可用 | redis 为什么那么快?
前言 redis和数据相比除了他们的结构型颠覆以外!还有他们存储位置也是不相同.传统数据库将数据存储在硬盘上每次数据操作都需要IO而Redis是将数据存储在内存上的.这里稍微解释下IO是啥意思.IO就 ...
- 模拟windows10计算器的实现
用户界面部分: import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.HashMap; impo ...
- 关于Word转Markdown的工具Writage安装及使用
简介 Writage是为希望开始编写结构良好的文档,没有时间或不想深入了解 Markdown 语法的详细信息,或者更愿意使用 Word 作为文本编辑器的每个人设计的 下载并安装 安装包地址:https ...
- Https:SSL双向认证机制(理论知识)
1.基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容. 1.1.公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥.私钥.加密解密算法,它 ...
- 8 shell if else
if 语句的判断条件,从本质上讲,判断的就是命令的退出状态. 语句 语句格式 同一行书写 注意点 用例1 用例2 if 语句 if conditionthen statement(s)fi if ...
- 发送 email (转)
<?phpnamespace app\common\controller;//基类class Email{ /* Public Variables */ var $smtp_port; var ...
- C# 8.0和.NET Core 3.0高级编程 分享笔记一:C#8.0与NET Core 3.0入门
在学习C#相关知识的过程中,我们使用Visual Studio Code来入门整个C#. 一.安装Visual Studio Core环境 通过https://code.visualstudio.co ...
- 通过原生js实现数据的双向绑定
通过js实现数据的双向绑定 : Object.defineProperty了解 语法: Object.defineProperty(obj, prop, descriptor) obj 要定义属性的对 ...
- linux挂载光驱
挂载光驱到linux中.linux的镜像盘中有安装oracle的所有的软件包,可以会用yum一键安装. 1.此时的linux的界面显示光驱图标 2.挂载 因为光盘里面的文件是只读模式的,yum安装时不 ...
- 「CF516D」 Drazil and Morning Exercise
「CF516D」 Drazil and Morning Exercise 传送门 这个 \(f_i\) 显然可以通过树形 \(\texttt{DP}\) 直接求. 然后看到这种差值问题感觉就可以二分转 ...