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

自定义访问路径(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. 怎么样在同一个word文件中删除不同节数的页眉

    1.双击页眉,进入页眉编辑状态2.选择准备删除页眉的节,直接额删除即可.注意:为不至于因该节的改动影响其他节的页眉,需要在页眉设置上,每节都要取消链接到前一节页眉 把那张的前面和后面都插入分隔符,在页 ...

  2. 039.Python使用TCP实现多用户并发

    使用TCP实现多用户并发 在前面的实验中,TCP建立连接时,只能允许一个用户连接,当第二个用户建立连接时,发送的信息,服务端是没有办法接受,只有当第一个用户退出时,才能接受到第二个用户的请求,并实现通 ...

  3. CSS 重置技术

    元素默认样式显示问题 每个浏览器对不同元素都有自己的默认样式.Google Chrome 渲染正文标题.段落.列表等,与 IE 浏览器可能都有所不同.这就导致同一个页面元素在不同的浏览器中显示效果不一 ...

  4. 第8章 Shell函数的知识与实践

    shell 函数常见的语法格式 function 函数名(){          return n } 简化1 function 函数名{     ... } 简化2 函数名(){     ... } ...

  5. Angular环境搭建及简单体验

    一.安装开发环境 npm install -g typescript npm install -g @angular/cli 二.创建hello-world项目 创建项目 ng new angular ...

  6. CoSky 高性能 服务注册/发现 & 配置中心

    CoSky 基于 Redis 的服务治理平台(服务注册/发现 & 配置中心) Consul + Sky = CoSky CoSky 是一个轻量级.低成本的服务注册.服务发现. 配置服务 SDK ...

  7. 【补档_STM32单片机】脉搏波采集显示硬件设计

    一.脉搏波简介 ​ 脉搏一般情况下指的都是动脉脉搏.每分钟的脉搏次数称为脉率,正常情况下与心率是一致的.心脏的一次收缩和舒张成为一个心动周期.在每个心动周期内,心室的收缩和舒张会引起脉内压力的周期性波 ...

  8. CoSky-Mirror 就像一个镜子放在 Nacos、CoSky 中间,构建一个统一的服务发现平台

    CoSky 基于 Redis 的服务治理平台(服务注册/发现 & 配置中心) Consul + Sky = CoSky CoSky 是一个轻量级.低成本的服务注册.服务发现. 配置服务 SDK ...

  9. JavaSE-QuickStart

    老话常说:基础不牢地动山摇,于是我在b站上看杨中科老师的课程脑补一下,便记录这岁月的点滴 1.什么是编程 ? 编程:编写能够控制计算机来执行特定任务的代码. 2.什么是编程语言 ? 编程语言:是指程序 ...

  10. 如何在Linux中自动删除或清理/tmp文件夹内容?

    每个Linux系统都有一个名为的目录/tmp,该目录已挂载了单独的文件系统. 它具有称为tmpfs的特殊文件系统.这是一个虚拟文件系统,操作系统将在系统引导时自动挂载/tmp挂载点. 如果要根据应用程 ...