一 敏感Header的设置
一般来说,可在同一系统中的服务之间共享Header.不过应尽量防止让一些敏感的Header外泄。因此,在很多场景下,需要通过为路由指定一系列敏感Header列表。例如:
zuul:
routes:
users:
path: /myusers/**
sensitiveHeaders: Cookie,Set-Cookie,Authorization
url: https://downstream
这样就可为users微服务指定敏感Header了。
也可用zuul.sensitiveHeaders全局指定敏感Header,例如:
zuul
sensitiveHeaders: Cookie,Set-Cookie,Authorization #默认是Cookie,Set-Cookie,Authorization
需要注意的是,如果使用zuul.routes.*.sensitiveHeaders的配置方式,会覆盖掉全局的配置。
二 忽略Header
可使用zuul.ignoredHeaders属性丢弃一些Header,例如:
zuul
ignoredHeaders: Header1,Header2
这样设置后,Header1和Header2将不会传播到其他微服务中。
默认情况下,zuul.ignoredHeaders是空值,但如果Spring Security在项目的classpath中,那么zuul.ignoredHeaders的默认值就是Pragma,Cache-Control,X-Frame-Options,X-Content-Type-Options,X-XSS-Protection,Expires。所以,当Spring Security在项目classpath中,同时又需要使用下游微服务的Spring Security的Header时,可以将zuul.ignoreSecurityHeaders设置为false。
三 参考