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网关匹配规则的更多相关文章

  1. 实战四:Gateway网关作全局路由转发

    Gateway网关的作用主要是两个:路由转发,请求过滤.此篇讲的是路由转发,下篇介绍请求过滤. 一,创建网关module,添加依赖 1,new -> module -> maven 或直接 ...

  2. Spring Cloud实战 | 第十一篇:Spring Cloud Gateway 网关实现对RESTful接口权限控制和按钮权限控制

    一. 前言 hi,大家好,这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT实现的统 ...

  3. Gateway网关

    前提要在注册中心把网关和服务都进行注册 通俗来说,网关就是指在客户端和服务端的一面墙,这面墙有请求转发,负载均衡,权限控制,跨域,熔断降级,限流保护等功能. 客户端发送请求,请求先通过网关,网关根据特 ...

  4. SpringCloud(四)GateWay网关

    GateWay网关 概述简介 Gateway是在 Spring生态系统之上构建的AP网关服务,基于 Spring5, Spring Boot2和 Project Reactor等技术. Gateway ...

  5. SpringBoot简单整合Gateway网关

    引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>s ...

  6. 【SpringCloud技术专题】「Gateway网关系列」(3)微服务网关服务的Gateway全流程开发实践指南(2.2.X)

    开发指南须知 本次实践主要在版本:2.2.0.BUILD-SNAPSHOT上进行构建,这个项目提供了构建在Spring生态系统之上API网关. Spring Cloud Gateway的介绍 Spri ...

  7. Spring Cloud gateway 网关服务二 断言、过滤器

    微服务当前这么火爆的程度,如果不能学会一种微服务框架技术.怎么能升职加薪,增加简历的筹码?spring cloud 和 Dubbo 需要单独学习.说没有时间?没有精力?要学俩个框架?而Spring C ...

  8. Spring Cloud gateway 网关四 动态路由

    微服务当前这么火爆的程度,如果不能学会一种微服务框架技术.怎么能升职加薪,增加简历的筹码?spring cloud 和 Dubbo 需要单独学习.说没有时间?没有精力?要学俩个框架?而Spring C ...

  9. 0.9.0.RELEASE版本的spring cloud alibaba sentinel+gateway网关实例

    sentinel除了让服务提供方.消费方用之外,网关也能用它来限流.我们基于上次整的网关(参见0.9.0.RELEASE版本的spring cloud alibaba nacos+gateway网关实 ...

随机推荐

  1. DOS命令行(5)——Windows系统的配置与管理(下)

    whoami --查看当前有效用户 这个工具可以用来获取本地系统上当前用户(访问令牌)的用户名和组信息,以及相应的安全标识符(SID).声明.本地系统上当前用户的权限.登录标识符(登录 ID).例如, ...

  2. Pytest学习笔记8-参数化

    前言 我们在实际自动化测试中,某些测试用例是无法通过一组测试数据来达到验证效果的,所以需要通过参数化来传递多组数据 在unittest中,我们可以使用第三方库parameterized来对数据进行参数 ...

  3. Redis之Sentinel

    Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的.可喜的是Redis从 2.8 ...

  4. Windows10 准备/安装React研发环境

    安装NodeJS环境,附带NPM 因为React依赖NPM(Node.js Package Manager)来安装,所以我们可以先安装Node.Js环境. Node.Js会自动带NPM组件和自动安装配 ...

  5. Custom Controller CollectionQT样式自定义 003 :Bubblemessage 气泡消息窗

    效果Demo 思路大致上是加定时器,触发完成出现 - 停留 - 消失的效果. 源码:https://github.com/linzD00/CustomControllerLibrary

  6. Linux从头学02:x86中内存【段寻址】方式的来龙去脉

    作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux. ...

  7. 无需手动输入命令,简单3步即可在K8S集群中启用GPU!

    随着全球各大企业开始广泛采用Kubernetes,我们看到Kubernetes正在向新的阶段发展.一方面,Kubernetes被边缘的工作负载所采用并提供超越数据中心的价值.另一方面,Kubernet ...

  8. Mybatis学习(4)实现关联数据的查询

    有了前面几章的基础,对一些简单的应用是可以处理的,但在实际项目中,经常是关联表的查询,比如最常见到的多对一,一对多等.这些查询是如何处理的呢,这一讲就讲这个问题.我们首先创建一个Article 这个表 ...

  9. bugku--cookie欺骗

    打开题目一看,是一串的东西,再看了一下filename发现不对劲了,明显是base64编码,拿去解码一下, 发现是这个,说明是filename,是需要解析的哪个文件名,把index.php编码一下,试 ...

  10. 使用 DataX 增量同步数据(转)

    关于 DataX DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlServer.Postgre.HDFS.Hive.ADS.HBase.Tab ...