当前位置: 首页 > news >正文

GateWay路由规则

Spring Cloud GateWay 帮我们内置了很多 Predicates功能,实现了各种路由匹配规
则(通过 Header、请求参数等作为条件)匹配到对应的路由

1 时间点后匹配 

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- After=2023-03-18T17:42:47.789-07:00[America/Denver]

2 时间点前匹配 

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- Before=2025-03-18T17:42:47.789+08:00[Asia/Shanghai]

3 时间区间匹配

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- Between=2022-03-18T17:42:47.789+08:00[Asia/Shanghai],2025-03-18T17:42:47.789+08:00[Asia/Shanghai]

4 指定Cookie正则匹配指定值

这个配置的含义是当接收到的请求中包含名为 sessionId 的 Cookie,且其值匹配正则表达式 \d+(表示任意数字)时,该请求将被路由到 http://example.org。换句话说,这个规则会筛选出带有特定 Cookie 值的请求,并将其转发到指定的 URI。

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- Cookie=sessionId, \d+

5 指定Header正则匹配指定值

这个配置指定了一个名为 consumer 的路由,它将请求转发到 https://consumer-service 服务上。该路由的谓词条件是请求头中的 requestinfo 的值必须是一个数字。

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- Header=requestinfo, \d+

6 请求Host匹配指定值

这个配置定义了一个名为 consumer 的路由,它将请求转发到 https://consumer-service 服务上。该路由的谓词条件是请求的 Host 头必须匹配 **.consumer-service.** 的正则表达式模式。

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- Host=**.consumer-service.**

7 请求Method匹配指定请求方式

指定请求类型是get 或者让post请求

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- Method=GET,POST

8 请求路径正则匹配

这个配置中的 Path=/consumer-service/** 表示当请求的路径以 /consumer-service/ 开头时,将请求转发到 https://consumer-service 服务上

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- Path=/consumer-service/**

9 请求包含某参数

在这个配置中,使用了 Query 谓词来匹配请求中的查询参数。具体来说,Query=name 表示只有请求中带有名为 name 的查询参数时,该路由规则才会被匹配。这意味着只有符合该条件的请求会被转发到 https://consumer-service 服务。

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- Query=name

10 远程地址匹配

在这个配置中,使用了 RemoteAddr 谓词来匹配请求的远程地址。具体来说,RemoteAddr=http://192.168.201.116 表示只有来自远程地址为 192.168.201.116 的请求才会被匹配到该路由规则。这意味着只有符合该条件的请求会被转发到 https://consumer-service 服务。

server:port: 8888
spring:application:name: gateway-servicecloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueroutes:- id: consumeruri: https://consumer-servicepredicates:- RemoteAddr=192.168.201.116

相关文章:

GateWay路由规则

Spring Cloud GateWay 帮我们内置了很多 Predicates功能,实现了各种路由匹配规 则(通过 Header、请求参数等作为条件)匹配到对应的路由 1 时间点后匹配 server:port: 8888 spring:application:name: gateway-servicecloud:nacos:discovery:…...

shell脚本基础改造

一、基础的shell脚本格式 #!/bin/bash 2 #3 #********************************************************************4 #Author: LJH5 #QQ: 2…...

静态综合实验

一,1.搭建拓扑结构并启动。 2.根据题意得该图需要14个网段,根据192.168.1.0/24划分子网段,如下: 划分完如图所示: 二、配置IP地址 R1路由器: 1.进入系统视图并改名. 2.接口配置IP地址&#xff1a…...

Spring Web MVC入门(6)

应用分层 在开发的过程中, 我们会发现, 程序的代码有时会很"杂乱", 如果后面的项目更大了, 那就会更加地杂乱无章(文件乱, 代码内容乱). 也基于此, 接下来让我们来学习一下应用分层. 也类似于公司的组织架构 公司初创阶段, 一个人身兼数职, 既做财务, 又做人事,还有…...

muduo异步日志

muduo异步日志实现 陈硕老师的muduo网络库的异步日志的实现,今晚有点晚了,我明晚再把这个异步日志抽出来,作为一个独立的日志库。 所在文件 AsyncLogging.cc AsyncLogging.h LogFile.h LogFile.cc CountDownLatch.h CountDownLatch.cc…...

在智慧能源的发展历程中,哪些技术的出现起到了关键性的作用?

智慧能源作为一种全新的能源发展理念,正逐渐成为能源领域的热门话题。在智慧能源的发展历程中,有许多技术的出现起到了关键性的作用,推动了智慧能源的快速发展。 一、物联网技术 物联网技术使得能源设备可以实现互联互通,通过传感…...

SQLiteC/C++接口详细介绍sqlite3_stmt类(十三)

返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(十二) 下一篇: 待续 51、sqlite3_stmt_scanstatus_reset sqlite3_stmt_scanstatus_reset 函数用于重置指定语句对象最近一次执行的 WHER…...

扫雷(蓝桥杯,acwing)

题目描述: 扫雷是一种计算机游戏,在 2020 世纪 80 年代开始流行,并且仍然包含在某些版本的 Microsoft Windows 操作系统中。 在这个问题中,你正在一个矩形网格上玩扫雷游戏。 最初网格内的所有单元格都呈未打开状态。 其中 M个…...

macOS 通过 MacPorts 正确安装 MySQL 同时解决无法连接问题

如果你通过 sudo port install 命令正常安装了 MySQL,再通过 sudo port load 命令启动了 MySQL Server,此刻却发现使用 Navicat 之类的 GUI 软件无法连接,始终返回无法连接到 127.0.0.1 服务器。这是一个小坑,因为他默认使用了 So…...

Semi-supervised Open-World Object Detection

Semi-supervised Open-World Object Detection 摘要1 介绍2.准备工作提出的SS-OWOD问题设置2.1 基础架构3 方法3.1整体架构摘要 传统的开放世界对象检测(OWOD)问题设置首先区分已知和未知类别,然后在后续任务中引入标签时逐步学习未知对象。然而,当前的OWOD公式在增量学习…...

C语言实现射击小游戏

以下是一个简单的C语言射击小游戏的实现示例。这个游戏中&#xff0c;玩家控制一个飞船&#xff0c;敌方飞船会随机出现并向玩家移动。如果玩家的飞船与敌方飞船相撞&#xff0c;玩家就失去一条生命&#xff0c;代码如下&#xff1a; #include <stdio.h> #include <s…...

c++11 标准模板(STL)本地化库 - std::islower(std::locale) 检查字符是否被本地环境分类为小写

本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析&#xff0c;以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 检查字符是否被本地环境分类为小写 std::islower(std::locale) template&…...

粘度指数改进剂市场需求增长 为润滑油添加剂细分产品

粘度指数改进剂市场需求增长 为润滑油添加剂细分产品 粘度指数改进剂是一种油溶性高分子聚合物&#xff0c;主要用于提高润滑油粘度以及粘度指数。粘度指数改进剂具有稠化能力强、抗磨性好、热稳定性好等优势&#xff0c;可添加于液压油、内燃机油以及齿轮油等油品中。 …...

LabVIEW柴油机安保监控系统

LabVIEW柴油机安保监控系统 随着航运业的快速发展&#xff0c;确保船舶柴油机的安全稳定运行变得尤为重要。船舶柴油机故障不仅会导致重大的经济损失&#xff0c;还可能危及人员安全和环境。设计并开发了一套基于LabVIEW平台的柴油机安保监控系统&#xff0c;旨在通过实时监控…...

实测国内AI大模型问答效果

随着ChatGPT热度的攀升&#xff0c;越来越多的公司也相继推出了自己的AI大模型。按照github工程awesome-LLMs-In-China所列举的&#xff0c;现如今国内AI大模型已达243个&#xff0c;比较著名的有文心一言、通义千问等。各大应用也开始内置AI玩法&#xff0c;如抖音的AI特效。下…...

不得不等待的无奈 -《葡萄成熟时》

恋上一个人便是撒下一颗葡萄种子&#xff0c;你可能会坚持&#xff0c;但不一定会结果&#xff0c;收获&#xff08;在一起&#xff09;。 更有可能得到的是枯枝烂叶&#xff08;ta的离开&#xff09;。 就算你再努力&#xff0c;再用心去栽培&#xff08;为ta付出&#xff0…...

【Python】Python中装饰器和魔法方法的区别

在Python中&#xff0c;装饰器&#xff08;Decorators&#xff09;和魔法方法&#xff08;Magic Methods&#xff09;是两种不同的高级特性&#xff0c;分别服务于不同的目的。 装饰器 (Decorators) 装饰器是一种强大的工具&#xff0c;它可以修改或增强函数、方法或类的行为…...

【React】创建你的第一个React组件

要使用React创建你的第一个组件&#xff0c;首先确保你已经安装了Node.js和npm&#xff08;Node包管理器&#xff09;。然后&#xff0c;你可以通过npm安装Create React App这个官方支持的脚手架工具来快速生成一个新的React应用项目&#xff0c;该项目包含了React、ReactDOM、…...

五分钟搞懂MySQL索引下推

什么是索引下推 索引下推(Index Condition Pushdown&#xff0c;简称ICP)&#xff0c;是MySQL5.6版本的新特性&#xff0c;它能减少回表查询次数&#xff0c;提高查询效率。 索引下推优化的原理 我们先简单了解一下MySQL大概的架构&#xff1a; MySQL服务层负责SQL语法解析、…...

【数据库】SQL如何添加数据

在SQL中&#xff0c;您可以使用INSERT INTO语句来添加数据到数据库表中。以下是一些基本的示例和解释&#xff1a; 1.插入完整行数据&#xff1a; 如果您想为表中的每一列都插入数据&#xff0c;那么可以不必指定列名。但是&#xff0c;您需要为每一列都提供数据&#xff0c;并…...

PostgreSQL CASE语句深度解析:性能、类型与NULL安全实战指南

1. 为什么你必须真正吃透 PostgreSQL 的 CASE 语句——它远不止是 SQL 里的“if-else”翻译器在 PostgreSQL 实战中&#xff0c;我见过太多人把CASE当成一个语法糖&#xff1a;写几个WHEN...THEN&#xff0c;加个ELSE&#xff0c;再套个END&#xff0c;就以为搞定了。结果呢&am…...

Allegro等长设置翻车实录:拓扑模板法的3个坑与手工PinPair的救赎

Allegro等长设计避坑指南&#xff1a;从拓扑模板到精准PinPair的实战演进在高速PCB设计中&#xff0c;等长匹配如同精密钟表里的齿轮啮合&#xff0c;差之毫厘便可能导致整个系统时序崩塌。当设计从简单的点对点结构升级到多负载复杂拓扑时&#xff0c;Allegro用户常陷入两种典…...

Obsidian PDF++:如何在Obsidian中实现PDF与笔记的无缝双向链接?

Obsidian PDF&#xff1a;如何在Obsidian中实现PDF与笔记的无缝双向链接&#xff1f; 【免费下载链接】obsidian-pdf-plus PDF: the most Obsidian-native PDF annotation & viewing tool ever. Comes with optional Vim keybindings. 项目地址: https://gitcode.com/gh_…...

照着用就行:2026 最新降AIGC软件测评与推荐

2026年真正好用的AI论文降重与改写工具&#xff0c;核心看降重效果、去AI味、格式保留、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …...

关于psthon问题

我想问问各位 我python可以查到 但是我的bit文件查不到python怎么回事...

【与我学 ClaudeCode】协作篇 之 Worktree + Task Isolation :目录隔离的并行执行通道

作者&#xff1a;逆境不可逃 技术永无止境 希望我的内容可以帮助到你&#xff01;&#xff01;&#xff01;&#xff01; 大家吼 ! 我是 逆境不可逃 今天给大家带来文章《【与我学 ClaudeCode】协作篇 之 Worktree Task Isolation &#xff1a;目录隔离的并行执行通道》. Le…...

如何在浏览器中一键解密所有加密音乐文件:Unlock-Music完全指南

如何在浏览器中一键解密所有加密音乐文件&#xff1a;Unlock-Music完全指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地…...

基于Cynthion逆向USB协议,为DP100电源开发Linux控制软件

1. 项目概述&#xff1a;用Cynthion嗅探USB&#xff0c;为DP100电源打造Linux软件作为一名长期在Linux环境下折腾硬件和嵌入式开发的爱好者&#xff0c;我经常遇到一个头疼的问题&#xff1a;很多不错的桌面小设备&#xff0c;比如电源、示波器、逻辑分析仪&#xff0c;它们的官…...

WMPFDebugger与微信开发者工具对比:哪个更适合你的调试需求?

WMPFDebugger与微信开发者工具对比&#xff1a;哪个更适合你的调试需求&#xff1f; 【免费下载链接】WMPFDebugger Yet another WeChat miniapp debugger on Windows 项目地址: https://gitcode.com/gh_mirrors/wm/WMPFDebugger 在Windows平台的微信小程序开发中&#…...

用ESP32-C3的PWM做个RGB呼吸灯吧:从配置结构体到色彩渐变(乐鑫ESP-IDF实战)

ESP32-C3 RGB呼吸灯实战&#xff1a;从PWM配置到色彩渐变算法 当智能家居的灯光不再只是简单的开关控制&#xff0c;而是能像呼吸般自然渐变时&#xff0c;整个空间的氛围立刻变得生动起来。ESP32-C3凭借其出色的LED PWM控制器&#xff08;LEDC&#xff09;外设&#xff0c;为开…...