文章目录
上篇文章简单的演示了一下zuul的路由功能,这篇文章继续演示zuul的其它功能
1.给其它服务自定义路由
通过zuul访问其它服务,默认规则是 服务名称 + 接口路径。服务名称是eureka上显示的名称,可以通过zuul的配置来自定义服务名称
1.1 写法一
zuul.routes.1.path=/myGoods/**
zuul.routes.1.service-id=goods
或者:
改完配置,重启zuul服务,在访问(注意url的大小写):http://localhost:9000/myGoods/size/getSizes
1.2 写法二 zuul.routes.goods=/myGoods/**
同样可以访问:
2.排除路由
如果有些接口,你不想让外部应用访问,只想内部服务调用,那你可以用这个配置
zuul.ignored-patterns
重启,404,http://localhost:9000/myGoods/size/getSizes 找不到了,但是http://localhost:9000/goods/size/getSizes 仍然可以访问,因为配置里只是屏蔽了 myGoods/size/getSIzes。
完全屏蔽,可以如此写,重启就全404了:
通配符写法:
效果图不贴了,一样的都是 404
3.敏感头设置
目前这样通过zuul请求后面的服务,后台服务里获取不到请求的 cookie。下面的请求是有cookie的:
debug查看后台服务,cookie为空:
原因是 zuul的属性配置里有个sensitiveHeaders,把这个集合里的头部信息都过滤了,
现在默认是过滤了这三个,我们只需要配置sensitiveHeaders为空,zuul就不会过滤这些信息了
配置zuul.routes.myGoods.sensitive-headers,不同版本zuul,参数名还不一样,但是都差不多:
重启zuul,就能看到cookie了: