以下是两种配置文件的配置方式,可以根据需要选取对自己项目有利的配置。

自定义访问路径(path)

配置application.yml文件

#provider-user:是你的微服务模块的名称,及spring.application.name名称
zuul:
routes:
provider-user: /user/**

配置application.properties文件

zuul.routes.provider-user.path=/user/**

这样设置,provider-user微服务的访问路径就会被映射到/user/**路径,例如正常访问provider-user模块:localhost:8002/getUser 配置后需要访问zuul服务(假设我的zuul服务端口为8004,实际看自己的zuul服务端口):localhost:8004/user/getUser

忽略指定微服务

配置application.yml文件

#多个微服务名称用,分隔开
zuul:
ignored-services: provider-user,consumer-movie

配置application.properties文件

zuul.ignored-services=provider-user,consumer-movie

这样就可让Zuul忽略provider-user和consumer-movie微服务,只代理其他微服务

忽略所有服务,只要指定服务

配置application.yml文件

# 使用'*'可忽略所有微服务
zuul:
ignored-services: '*'
routes:
provider-user: /user/**

配置application.propertion文件

zuul.ignored-services=*
zuul.routes.provider-user=/user/**

让Zuul路由可以访问provider-user微服务。

同时指定serviceId和访问路径(path)

配置application.yml文件

# 该配置方式中,provider-user只是给路由一个名称,可以任意起名。
zuul:
routes:
provider-user:
service-id: provider-user
path: /user/** # service-id对应的路径

配置application.properties文件

zuul.routes.provider-user.serviceId=provider-user
zuul.routes.provider-user.path=/user/**

与自定义访问路径一样效用,微服务就会被映射到/user/**路径。

同时指定url和访问路径(path)

配置application.yml文件

# 该配置方式中,provider-user只是给路由一个名称,可以任意起名。
zuul:
routes:
provider-user:
url: http://localhost:8002/ # 指定的url
path: /user/** # service-id对应的路径

配置application.properties文件

zuul.routes.provider-user.url=http://localhost:8002
zuul.routes.provider-user.path=/user/**

/user/** 映射到http://localhost:8000/**路径

使用这种方式配置的路由不会作为HystrixCommand执行,同时也不能使用Ribbon来负载均衡多个URL(下面的配置解决问题)

同时指定url和访问路径(path),不破坏Zuul的Hystrix、Ribbon特性

配置application.yml文件

#在E版之后新增了负载均衡的配置。
#配置中provider-user只是一个路由名称,可自定义名称
zuul:
routes:
provider-user:
path: /user/**
service-id: provider-user
ribbon:
eureka:
enabled: false #禁止Ribbon使用Eureka
provider-user:
ribbon:
listOfServers: localhost:8000,localhost:8001

配置application.properties文件

#配置中provider-user只是路由名称,可自定义
zuul.routes.provider-user.path=/user/**
zuul.routes.provider-user.serviceId=provider-user
ribbon.eureka.enabled=false
provider-user.ribbon.listOfServers=localhost:8002,localhost:8003

既指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性,解决了上面的问题。

忽略一定范围的路径

配置application.yml文件

zuul:
ignoredPatterns: /**/admin/** # 忽略所有包含/admin/的路径
routes:
provider-user: /user/**

配置application.properties文件

zuul.ignored-patterns=/**/admin/**
zuul.routes.provider-user:/user/**

将microservice-provider-user微服务映射到/user/**路径,但会忽略该微服务中所有包含/admin/的路径.

路由前缀

配合prefix使用。

配置application.yml文件

zuul:
prefix: /api
strip-prefix: false
routes:
provider-user: /user/** #prefix全局配置前缀 api
#strip-prefix:false 表示保留前缀访问(默认为true)
#示例如下
#strip-prefix:true : localhost:8004/api/user/getUser 自动转到路径 localhost:8002/user/getUser
#strip-prefix:false : localhost:8004/api/user/getUser 自动转到路径 localhost:8002/user/api/getUser

配置application.properties文件

zuul.prefix=/api
zuul.routes.provider-user.strip-prefix=false
zuul.routes.provider-user=/user/**
prefix全局配置前缀 api
strip-prefix:false 表示保留前缀访问(默认为true)
示例如下
strip-prefix:true : localhost:8004/api/user/getUser 自动转到路径 localhost:8002/user/getUser
strip-prefix:false : localhost:8004/api/user/getUser 自动转到路径 localhost:8002/user/api/getUser

小技巧

如无法掌握Zuul路由的规律,可将com.netflix包的日志级别设为DEBUG。这样,Zuul就会打印转发的具体细节,从而帮助我们更好地理解Zuul的路由配置

配置application.yml文件

logging:
level:
com.netflix: DEBUG

配置application.properties文件

logging.level.com.netflix=DEBUG

文章转载至:https://my.oschina.net/eacdy/blog/3006505

SpringCloud:路由ZUUL的配置详解的更多相关文章

  1. springcloud中Feign配置详解

    Spring Cloud中Feign配置详解 到目前为止,小伙伴们对Feign的使用已经掌握的差不多了,我们在前文也提到Feign是对Ribbon和Hystrix的整合,那么在Feign中,我们要如何 ...

  2. 华为ensp模拟某公司网络架构及配置详解

    1.先晒下架构图,二层设备省略..... 2.下面开始具体配置详解 2.1.从路由器开始配置,先用远程工具远程AR1220F-S路由,secureCRT ,putty,xshell任选其中一个均可,功 ...

  3. OpenVPN CentOS7 安装部署配置详解

    一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...

  4. webpack4配置详解之常用插件分享

    前言 继上一次webpack的基础配置分享之后,本次将分享一些工作中项目常用的配置插件.也会包含一些自己了解过觉得不错的插件,如有分析不到位的,欢迎纠错,嗯,这些东西文档都有,大佬可绕过. Wepac ...

  5. Nginx安装及配置详解【转】

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  6. [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html

    Nginx安装及配置详解   nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...

  7. RIP配置详解

    RIP配置详解 一.RIP协议概述 1.RIP是Routing Information Protocol(路由信息协议)的简称: 2.RIP是一种基于距离矢量(Distance-Vector)算法的路 ...

  8. keepalived的配置详解(非常详细)

    keepalived的配置详解(非常详细) 2017-01-22 15:24 2997人阅读 评论(0) 收藏 举报  分类: 运维学习(25)    转载自:http://blog.csdn.net ...

  9. 缓存varnish的管理及配置详解

    一 工作原理 在当前主流的Web服务架构体系中,Cache担任着越来越重要的作用.常见的基于浏览器的C/S架构,Web Cache更是节约服务器资源的关键.而最近几年由FreeBSD创始人之一Kamp ...

随机推荐

  1. mysql基础之mysql双主(主主)架构

    一.概念 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果是双主或者多主,就会增加m ...

  2. String、Stringbuilder、StringBuffer异同

    相同点: String.Stringbuilder.StringBuffer 都可以操作字符串 String 是被final修饰的,容量定长 Stringbuilder 和 Stringbuilder ...

  3. 【Python】神器:Streamlit,仅使用Python开发一个运维管理后台(不需要编写html,js,css)

    背景 作为SRE,我们有很多很多自动化的工具,大部分都是自动运行的,还有一部分是CLI,我们一直苦于没有一个自己的管理后台网站,受限于前端能力薄弱,开发出来的网页只能说凑活能用,但是不好用. 现在我们 ...

  4. SQL SERVER 实现相同记录为空显示(多列去除重复值,相同的只显示一条数据)

    sql server语句查询中碰到结果集有重复数据,需要把这个重复数据汇总成一条显示.其余则正常显示. 使用SQL内置函数 ROW_NUMBER() 加 PARTITION 完成 ROW_NUMBER ...

  5. Eclipse修改方法内容不用重启Jetty服务器

    我Eclipse以前DEBUG模式时,修改方法里的内容是不用重启的, 现在修改方法里是一行代码都要重启服务器了,很麻烦,速度慢了,找了百度,那些方法对我不合适,可能遇到的问题不一样. 也许会合适遇到和 ...

  6. Mapper注解与MapperScan注解

    1.Mapper注解 在接口类上添加@Mapper,在运行时动态代理生成实现类 @Mapper public interface UserDao { // User getUser(); } 如果想要 ...

  7. curl 常用操作总结

    前言 curl 是一个强大的命令行工具,支持 HTTP, HTTPS, SCP 等多种协议,本文主要总结一下其常用的功能,方便及时查阅. curl --version curl 7.68.0 (x86 ...

  8. 如何在Python中加速信号处理

    如何在Python中加速信号处理 This post is the eighth installment of the series of articles on the RAPIDS ecosyst ...

  9. 智能物联网(AIoT,2020年)(下)

    智能物联网(AIoT,2020年)(下) 12工业物联网是AIoT在工业领域第一战场 工业物联网分为感知.决策.执行,OS与软件是大脑+神经 13工业场景下一步如何使用AIoT 不止工业物联网:用人工 ...

  10. HarmonyOS技术特性

    HarmonyOS技术特性 硬件互助,资源共享 多种设备之间能够实现硬件互助.资源共享,依赖的关键技术包括分布式软总线.分布式设备虚拟化.分布式数据管理.分布式任务调度等. 分布式软总线 分布式软总线 ...