zuul 里面的 prefix 和 strip-prefix 怎么使用

article/2025/10/23 10:26:06

首先两个是配置路由前缀的,

下面是我网上找的一段话:

  • prefix :前缀,当请求匹配前缀时会进行代理
  • strip-prefix :代理前缀默认会从请求路径中移除,通过该设置关闭移除功能,
    • 当 stripPrefix=true 的时 (会移除
      • (http://127.0.0.1:8181/api/user/list -> http://192.168.1.100:8080/user/list),
    • 当stripPrefix=false的时(不会移除
      • (http://127.0.0.1:8181/api/user/list -> http://192.168.1.100:8080/api/user/list

 

 

基本上看上面这些也明白了,

那我们项目中是怎么用的呢?这里我们有两种方式:

第一种:

我们有一个内部的微服务系统,本身没有申请域名,又因为是容器部署(每次启动ip都会变),

因此不能ip加端口访问,刚好我们部门有一个项目,所以最后决定就用这个项目做转发了。

首先我们这个aaa项目配置中:

server.servlet.context-path = /api-aaa


zuul.routes.purchase.path = /bbb/**
zuul.routes.purchase.stripPrefix = false
zuul.routes.purchase.serviceId = bbb项目的服务名

因为配置了项目前缀,因此,请求aaa项目,地址要加 api-aaa

可能有的人没有看懂,再说明下,这里我是想请求bbb项目,在aaa项目做了一层网关。

 

而且,这里还设置了 stripPrefix = false

也就是说,请求过去的地址,不去除 前缀(bbb/**)

那我最后的请求地址就是:

http://api-aaa/bbb/getList.....

为什么是这个地址呢?

因为是false,不去除前缀,所以要带bbb,

而且,我们bbb的项目是配置了地址的,

请求的url,必须要有bbb。

server.servlet.context-path = /bbb

所以最后的请求就是那样了。

 

如果还是没太明白,我们还有一个场景,

和上面不同的是,这次是true,并且,不是走一个项目,而是专门的网关。

 

网关那边的配置:

zuul.routes.bbb.path = /order-gateway/bbb-service/**
zuul.routes.bbb.serviceId = com-bbb-service

说明:

网关这边没有配置strip-prefix,也就是说是默认值true,那么请求会自动去除这里加的前缀

也就是会去除/order-gateway/bbb-service/

 

最后的请求地址是,http://网关的域名/order-gateway/bbb-service/bbb/getList....

没问题的:

因为strip-prefix是true(默认)

去除前缀之后,其实最后请求到bbb系统的地址就是:

之前:http://网关的域名/order-gateway/bbb-service/bbb/getList....

去除之后:http://网关的域名/bbb/getList....

          刚好就转发到我么bbb项目了。

 

终于搞懂了zuul prefix 和 strip-prefix 区别

Prefix 公共前缀

strip-prefix 不想要前缀,就配置false

想要,就不配,默认就是true

 

strip-prefix 既可以配全局,也可以给每个要转发的项目配。

 

如果还有不明白的可以留言,这个我也是新学习,咱们可以多多交流下

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/n42sgV6L.shtml

相关文章

Trie树(Prefix Tree)介绍

本文用尽量简洁的语言介绍一种树形数据结构 —— Trie树。 一、什么是Trie树 Trie树,又叫字典树、前缀树(Prefix Tree)、单词查找树 或 键树,是一种多叉树结构。如下图: 上图是一棵Trie树,表示了关键字集…

configure --prefix=/的作用和用法

非root用户安装python和gcc的时候,总是需要设定这个,只知道是个路径,具体是什么路径,代表什么不清楚。 不明白就百度: configure --prefix/是干啥用的?这个路径代表了什么? Configure是一个可…

前缀和(Prefix Sum)

前缀和指一个数组的某下标之前的所有数组元素的和(包含其自身)。前缀和分为一维前缀和,以及二维前缀和。前缀和是一种重要的预处理,能够降低算法的时间复杂度,可以在 O ( 1 ) O(1) O(1)的时间复杂度内求出区间和。 一…

CMAKE_INSTALL_PREFIX

一、定义 CMAKE_INSTALL_PREFIX为cmake的内置变量,用于指定cmake执行install命令时,安装的路径前缀。Linux下的默认路径是/usr/local ,Windows下默认路径是 C:/Program Files/${PROJECT_NAME} 二、用…

IP-Prefix List

地址前缀列表 一、IP-Prefix List二、语法及匹配规则1、语法2、匹配规则 三、配置案例1、拓扑2、分析ACL实现IP-Prefix List实现 四、IE考试题思考题 在进行配置案例前先了解一下基础知识 一、IP-Prefix List IP-Prefix List:能够同时匹配网络号和前缀长度 性能及可…

【脚本】更新依赖库pkgconfig文件中的prefix设置

在本地编译和安装了某个库后,如果其lib目录下存在pkgconfig子目录,则子目录下会存在若干.pc文件,文件中会有prefix的配置(该配置标识当前库的安装路径),当要把该库拷贝到其他机器上时,如果库的路…

Elasticsearch学习--查询(prefix、wildcard、regexp、fuzzy)

一、前缀搜索 prefix 不计算相关度评分性能较差前缀搜索匹配的是分词后的词项前缀搜索没有缓存前缀搜索尽可能把前缀长度设置的更长 GET product/_search {"query": {"fuzzy": {"name": {"value": "product1"}}} } index…

bgp 使用route-map设置Local perference(本地优先属性)配置与详解

实验目的: 1、掌握基于route-map的本地优先配置方法。 2、使用route-map配置可以定置基于目标网络的本地优先。 实验拓扑: 接口IP配置及bgp基础配置详见 CSDNhttps://mp.csdn.net/mp_blog/creation/editor?spm1001.2014.3001.5352 查看R3与R4的路由…

使用route-map 配置BGP本地优先级

一、实验目的: 1、掌握基于route-map的本地优先配置方法。 2、使用route-map配置可以定置基于目标网络的本地优先级。 二、拓扑图: 三、配置BGP基本的配置: 1、配置各路由器的IP地址和BGP协议。配置完之后,查看一下R3和R4的路由表…

Cisco route-map 源地址路由配置

拓朴图: 案例: 公司内部使用的是一条拨号光纤和一条固定专线光纤,默认是指向拨号光纤出口那个网关出去,现在2网段有两台服务器(WEB、Mail)映射到公网,让外部来访问。 办公区因工作需要&#xf…

bgp route-map应用 配置 学习笔记

先全运行bgp R2 router bgp 2 no auto-summary no synchronzation bgp router-id 2.2.2.2 neighbor 12.1.1.1 remtotes as 10 neighbor 24.1.1.4 remote-as 10r1: router bgp 10 no auto-summary no synchronization bgp router-id 1.1.1.1 neighbor 12.1.1.2…

重分布和Route-MAP

一般在做重分布的时候用route-map较多,当然也可以用分发列表或者前缀列表等等,重分布的时候为了干掉不需要的路由,节约路由器CPU和转发效率可以使用route-map,当然route-map也可以用在其他的场景。 本次实验将ospf与rip重分布来使…

使用Route-Map过滤BGP的路由

实验目的 1、掌握使用Route-Map过滤BGP的路由。 实验拓扑 接口ip配置与bgp基础配置详见: CSDNhttps://mp.csdn.net/mp_blog/creation/editor/125210020查看R3的路由表: R3#show ip route Gateway of last resort is not set1.0.0.0/24 is subnetted…

基于Route-map的路由过滤配置详解

实验目的: 1、掌握基于Route-map的路由过滤配置方法。 2、掌握route-map的命令语法。 实验拓扑: 步骤1:接口ip配置路由协议基础配置重分发详见CSDNhttps://mp.csdn.net/mp_blog/creation/editor/125018583查看R1、R3路由表 R1#show ip route Gateway …

带你轻轻松松了解route-map

一、Route-map概述 1.技术背景 首先来初步认识一下route-map。看上图,我们在R2上,将OSPF路由重发布进RIP,前面已经说过了,在重发布时,可以使用metric关键字来设置路由被重发布进RIP后的metric,这里设置为…

Route-Map个人理解及实验解析

Route-Map:功能性非常强的策略列表,可以用来过滤路由也可以调整路由的属性,自身具备过滤功能。 Route-Map的作用: 1.在重发布的过程中做route-map,重发布过程中可以改变路由的属性;(次要作用) 2.PBR 策略路…

Route map应用策略路由(上)

一、拓扑图: 二、配置说明: 1、根据拓扑图的配置,R4上面跑OSPF,下面走静态路由,R5和R6走默认路由上去。但是要注意的一点是R4上要加一条命令:default-information originate always (向OSPF区域通知一条默认…

CISCO ROUTE-MAP

强制指定源地址的下一跳 match定义匹配条件 match ip address匹配访问列表或前缀列表 match interface匹配下一跳出接口为指定接口之一的路由 match ip next-hop匹配下一跳地址为特定访问列表中被允许的那些路由 match metric匹配具有指定度量值的路由 match route-type匹…

Route-map扩展(讲解+配置)

目录 ——Route-map扩展一般形式: ——案列(1): ——案列(2): ——Route-map扩展一般形式: Ip policy-list aaa per/denyMatch …………(前缀列表/ACL....&#xff…