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

自定义访问路径(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. DES加密 超详解 及 C++编程实现

    参考资料: 1.计算机与软件学院实验报告管理系统资料 2.强烈推荐观看:<信息安全技术>课程微课设计 简介 什么是DES DES全称为Data Encryption Standard,即数 ...

  2. JMicro微服务Hello World

    概述 JMicro是本人开发的基于Java实现的微服务框架,前两天发布0.0.3正式版本,并已发布到maven中央仓库. 项目源码github:https://github.com/mynewworl ...

  3. 第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?

    第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的? linux 配置网络IP地址: 使用 net-tools: sudo ifconfig eth1 10.0.0.1/24 sudo ifc ...

  4. 『动善时』JMeter基础 — 34、JMeter接口关联【XPath提取器】

    目录 1.XPath提取器介绍 2.XPath提取器界面详解 3.XPath提取器的使用 (1)测试计划内包含的元件 (2)网易首页请求界面内容 (3)XPath提取器界面内容 (4)百度首页请求界面 ...

  5. 吐血整理!Python常用第三方库,码住!!!

    ​ Python作为一种编程语言近年来越来越受欢迎,它为什么这么火? 其中一个重要原因就是因为Python的库丰富--Python语言提供超过15万个第三方库,Python库之间广泛联系.逐层封装.几 ...

  6. Redis 内存大小限制+键值淘汰策略配置

    限制最大内存 windows 的 maxmemory-policy 策略可能会少一些 # 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试 ...

  7. Python+Selenium自动化 模拟鼠标操作

    Python+Selenium自动化 模拟鼠标操作   在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就 ...

  8. MindSpore基准性能

    MindSpore基准性能 本文介绍MindSpore的基准性能.MindSpore网络定义可参考Model Zoo. 训练性能 ResNet 以上数据基于华为云AI开发平台ModelArts测试获得 ...

  9. IDA反汇编EXE添加一个启动时的消息框

    IDA反汇编EXE添加一个启动时的消息框 上一篇文章介绍了用OD反汇编EXE添加一个启动时的消息框,这篇文章也是实现同样的效果,这边主要的思路还是将其反汇编得到汇编代码后,然后手动修改他的逻辑首先跳转 ...

  10. 升级 macOS Big Sur 差点丢了我多年的珍藏文件(夹)!!!

    原来升级 macOS Big Sur 过程中会转移根目录下的个人文件(夹). 春节期间升级了一下 macOS ,升级之前就比较担心丢数据,然而怕什么来什么.升级之后发现根目录下的个人文件(夹)都不见了 ...