微服務springcloud—zuul的安全和H
阿新 • • 發佈:2018-11-07
Zuul的安全與Header
1.敏感Header的設定
一般來說,可在同一個系統中的服務之間共享Header。不過應儘量防止讓一些敏感的
Header外洩。因此,在很多場景下,需要通過為路由指定一系列敏感Header列表。例如:
zuul:
routes:
users:
path: /users/**
sensitive-headers: Cookie,Set-Cookie,Authorization
url:https://downstream
這樣就可為microservice-provider-user微服務指定敏感Header了。
也可以用zuul.sensitive-headers全域性指定敏感,例如:
zuul:
sensitive-headers:Cookie,Set-Cookie,Authorization
需要注意的是,如果使用zuul.routes.*.sensitive-headers的配置方式,會覆蓋掉全域性的配置。
2.忽略Header
可使用zuul.ignoredHeaders屬性丟棄一些Header,例如:
zuul:
ignored-headers:Header1,Header2
這樣設定後。Header1和Header2將不會傳播到其他的微服務中。
預設情況下,zuul.ignored-headers是空值,但如果Spring Security
在專案中,那麼zuul.ignored-headers的預設值就是Pragma,Cache-Control,
X-Frame-Options,X-Content-Type-Options,X-XXS-Protection,Expries。
所以,當Spring Security在專案的classpath中,同時有需要使用下游微服務的
Spring Security的Header時,可以將zuul.ignored-headers設定為false。
本文大部分內容轉載自周立的《Spring Cloud與Docker微服務架構實戰》