Zuul丢失Cookie的解决方案 转
我们是使用spring cloud zuul作为api-gateway实践中,发现默认zuul会过滤掉cookie等header信息,有些业务场景需要传递这些信息该怎么处理呢?
处理方式 在api-gateway的application.properties文件中添加 zuul.sensitive-headers=
问题原因
负责根据ServiceId来路由的RibbonRoutingFilter在route之前会调用ProxyRequestHelper的buildZuulRequestHeaders(request)来重新组装一个新的Header。
在buildZuulRequestHeaders方法中会对RequsetHeader中的每一项调用isIncludedHeader(name)来判断当前项是否应该留在新的Header中,如下图,如果当前项在IGNORED_HEADERS(需要忽略的信息)中,就不会在新header中保留。
PreDecorationFilter过滤器会调用ProxyRequestHelper的addIgnoredHeaders方法把敏感信息(ZuulProperties的sensitiveHeaders属性)添加到请求上下文的IGNORED_HEADERS中
sensitiveHeaders的默认值初始值是"Cookie", "Set-Cookie", "Authorization"这三项,可以看到Cookie被列为了敏感信息,所以不会放到新header中
---------------------
作者:凌霄羽
来源:CSDN
原文:https://blog.csdn.net/lindan1984/article/details/79308396
版权声明:本文为博主原创文章,转载请附上博文链接!
文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wxb880114/article/details/84031187
- 点赞
- 收藏
- 关注作者
评论(0)