zuul in action
1.jar包导入
spring-cloud-starter-netflix-zuul
2.启动类
@EnableZuulProxy
3.配置文件
# 使用路径方式匹配路由规则
# customName 自定义, 通常使用要调用的服务名称,方便后期管理
# zuul.routes.customName.path=xxx
# 通配符
# /? 匹配单个字符
# /* 匹配单路径下任意数量的字符
# /** 匹配多级路径下任意数量的字符
zuul.routes.micro-goods.path=/web/**
# zuul.routes.customName.url=xxx
# url 用于配置符合 path 的请求路径路由到的服务地址
# zuul.routes.micro-order.url=http://localhost:8080/
# zuul.routes.customName.serviceId=xxx
# serviceId 用于配置匹配 path 路径的请求 路由到的服务名称
zuul.routes.micro-goods.serviceId=micro-goods
# 防止服务侵入
# 配置不被 zuul 代理的服务列表。多个服务名称使用逗号','分隔
# zuul 在拉取服务列表,创建映射规则的时候,会忽略掉 ignored-services 中的服务
# 只有配置了路由网关的服务才可以通过 zuul 网关访问
zuul.ignored-services=micro-eureka
# zuul.ignored-services=*
# 屏蔽接口
# zuul 在拉取服务列表,创建映射规则的时候,会忽略掉 ignored-patterns 中的接口
# 所有符合 ignored-patterns 的请求路径都不被 zuul 网关代理
zuul.ignored-patterns=/**/local/**
# 配置请求路径前缀,请求 /api/client/add , 实际起作用的是 client/add
# zuul 会把前缀从请求路径中移除
# zuul.prefix=/api
# 关闭移除前缀的功能
# zuul.routes.micro-goods.stripPrefix=true
# 默认是过滤掉 Cookie, Set-Cookie, Authorization
# 置空表示不用过滤
zuul.routes.micro-goods.sensitive-headers=
# 对所有请求过滤 Cookie, Set-Cookie, Authorization
# zuul.sensitive-headers=Cookie, Set-Cookie, Authorization
# 添加 host 头信息,隐藏后台服务地址
zuul.add-host-header=true
# 默认添加 X-Forwarded-* 头域
zuul.add-proxy-headers=true
# 本地跳转
zuul.routes.zuul-server.path=/local/**
zuul.routes.zuul-server.url=forward:/local
zuul.routes.blog.path=/blog/**
zuul.routes.blog.url=http://localhost:8003/
# 有些请求可以开启重试,提高用户体验,需注意接口幂等性问题
# zuul 默认集成 ribbon, 可通过 ribbon 来做重试
zuul.retryable=true
# 关闭该服务的重试
zuul.routes.micro-goods.retryable=false
# 同一个服务重试的次数,除去首次
ribbon.MaxAutoRetries=1
# 切换相同服务的数量
ribbon.MaxAutoRetriesNextServer=1
配置动态刷新
1.jar包导入 -- 见config
2.配置文件 -- 见config
3.配置类
@Bean
@RefreshScope
@ConfigurationProperties("zuul")
@Primary
public ZuulProperties zuulProperties() {
return new ZuulProperties();
}
接口
@EnableZuulProxy
spring-boot-starter-actuator
查看 zuul server 中映射规则
http://localhost:7070/actuator/routes
查看 zuul server 中映射规则明细
http://localhost:7070/actuator/routes/details
查看 zuul server 中的 filter
http://localhost:7070/actuator/filters