zuul 组件详解

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hantangduhey/article/details/93489012

上篇文章简单的演示了一下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了:
在这里插入图片描述

4.未完无续

展开阅读全文

没有更多推荐了,返回首页