Gateway匹配规则

重要概念

路由 route
断言 predicate
过滤器 fliter

一、时间匹配

在 after 时间之后的所有请求转发到 URI中的地址

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: time_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - After=2018-01-20T06:06:06+08:00[Asia/Shanghai]

在 before 时间之前的所有请求转发到 URI中的地址

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: time_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - After=2018-01-20T06:06:06+08:00[Asia/Shanghai]

Between 在这个时间段可以访问

  1. - Between=2018-01-20T06:06:06+08:00[Asia/Shanghai], 2019-01-20T06:06:06+08:00[Asia/Shanghai]

二、通过 Cookie 匹配

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: cookie_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - Cookie=know, abc

三、通过 Header 匹配

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: cookie_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - Header=X-Request-Id, \d+

四、通过 Host 匹配

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: cookie_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - Host=**.baidu.com

五、通过 Method 匹配

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: cookie_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - Method=GET

六、通过 Path 匹配

请求中包含 smile 属性的参数即可匹配路由。

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: cookie_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - Path=/test/{1}

七、通过 参数 匹配

请求中包含 keep 属性并且参数值是以 pu 开头的长度为三位的字符串才会进行匹配和路由

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: cookie_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - Query=keep, selp.

八、通过 ip 地址

  1. gateway:
  2. discovery:
  3. locator:
  4. enabled: true #启动服务中心注册与发现,通过服务id访问服务
  5. lower-case-service-id: true
  6. routes:
  7. - id: cookie_route
  8. uri: https://www.baidu.com
  9. predicates:
  10. - 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. ClickHouse学习系列之七【系统命令介绍】

    背景  前面介绍了ClickHouse相关的系列文章,该系列文章包括了安装.权限管理.副本分片.配置说明等.这次介绍一些ClickHouse相关的系统命令,如重载配置文件.关闭服务和进程.停止和启动后 ...

  2. hive学习笔记之五:分桶

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. uniapp 微信小程序 打开文件

    uni.downloadFile({ url: item.url, success: (res) => { if (res.statusCode === 200) { uni.openDocum ...

  4. 最大子序和:暴力->递归->动规->线段树

    题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. LeetCode:53. 最大子序和 题解 显而易见的暴力解法 最容易想到的便是暴力穷 ...

  5. ubuntu docker开启2375端口,支持远程访问

    1.编辑docker文件:/usr/lib/systemd/system/docker.service vi /usr/lib/systemd/system/docker.service 2.Exec ...

  6. SpringBoot:springboot项目jar包如何引入外置配置文件

            springboot项目打成jar包,默认读取的classpath路径下的配置文件,config.properties是自定义配置文件. 如果要把config.properties配置 ...

  7. gitlab找回管理员密码

    1.登陆后台服务器,切换git用户 su - git 2.登录GitLab的Rails控制台 gitlab-rails console production 另一种 切换root账户 执行:  git ...

  8. Android布局方式总结

    Android的布局分别是:线性布局LinearLayout.相对布局RelativeLayout.帧布局FrameLayout.网格布局GridLayout.约束布局ConstraintLayout ...

  9. python django与celery的集成

    一.celery与django 关于celery介绍和使用可以查看上篇Python中任务队列-芹菜celery的使用 关于django的介绍和使用可查看python django框架+vue.js前后 ...

  10. [期望DP][纪中]【2010集训队出题】彩色圆环

    彩色圆环 感谢名单 十分感谢 JA_Ma 为我讲解了 \(T1\) 的 期望DP 的思想和推论. 十分感谢 SSL_LYF 为我解答了 \(T1\) 的 期望DP 的概率的大小问题. 十分感谢 SSL ...