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. GitHub Desktop的使用,创建项目、上传文件,设置忽略文件

    下载登陆之后 新建项目File--第一个New repository 然后输入项目名称,选择项目文件夹,最后点Creata repository创建项目 这只是在本地建了项目. 项目文件夹中有其他文件 ...

  2. SpringCloud入门及创建分布式项目

    1.了解微服务 1.1 什么是微服务 微服务是一种架构风格 一个应用拆分为一组小型服务 每个服务运行在自己的进程内,也就是可独立部署和升级 服务之间使用轻量级HTTP交互 服务围绕业务功能拆分 可以由 ...

  3. 17、lnmp_php编译安装

    17.1.FastCGI介绍: 1.什么是CGI: CGI的全称为"通用网关接口",为http服务器与其他机器上的程序服务通信交流的一种工具,CGI程序 必须运行在网络服务器上:传 ...

  4. Gym 101334J 找规律

    题意: 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, 3)=3 mo ...

  5. Mysql:报错message from server: "Too many connections"(连接太多)

    报错信息 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source re ...

  6. Tomcat:Tomcat优化(内存,并发,缓存,安全,网络,系统等)详解

    一.Tomcat的安全配置 1.当Tomcat完成安装后首先要做的事情如下:首次安装完成后立即删除webapps下面的所有代码 rm -rf /srv/apache-tomcat/webapps/* ...

  7. SpringBoot:SpringBoot中@Value注入失败

    1. 第一步检测语法是否正确 @Value("${test}") private String test; 2.第二步检测配置文件中是否有进行配置 url=testusername ...

  8. hfctfwp(re)

    1.easy python revering 看字节码操作,昂哥直接看直接写exp太强了,我就直接手动写了个源码出来(昂哥永远滴神) arr0=[249,91,149,113,16,91,53,41, ...

  9. Java程序设计(2021春)——第二章课后题(选择题+编程题)答案与详解

    Java程序设计(2021春)--第二章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第二章课后题(选择题+编程题)答案与详解 第二章选择题 2.1 面向对象方法的特性 ...

  10. Windows环境mysql自动备份

    1.编写bat文件备份mysql 1 rem ******MySQL backup start****** 2 @echo off 3 4 ::删除一周前的备份数据 5 forfiles /p &qu ...