spring cloud netflix 组件 zuul 一般是用来作为网关服务开发,在涉及到转发路由的时候,zuul会改写request中的头部信息。那么怎么样在项目中配置呢?请看下面:
sensitiveHeaders会过滤客户端附带的headers
例如:zuul.sensitiveHeaders=Cookie,Set-Cookie
如果客户端在发请求是带了Cookie,那么Cookie不会传递给下游服务。
默认:zuul.sensitiveHeaders=
什么都不设置代表不过滤任何信息,但 zuul.sensitiveHeaders= 一定要附上 。
zuul.ignoredHeaders会过滤服务之间通信附带的headers
例如:zuul.ignoredHeaders=Cookie,Set-Cookie
如果客户端在发请求是带了Cookie,那么Cookie依然会传递给下游服务。但是如果下游服务再转发就会被过滤。作用与上面敏感的Header差不多,事实上sensitive-headers会被添加到ignored-headers中。
还有一种情况就是客户端带了Cookie,在ZUUL的Filter中又addZuulRequestHeader("Cookie", "new"),
那么客户端的Cookie将会被覆盖,此时不需要sensitiveHeaders。
如果设置了sensitiveHeaders: Cookie,那么Filter中设置的Cookie依然不会被过滤。