1. 程式人生 > >微服務springcloud—zuul的安全和H

微服務springcloud—zuul的安全和H

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微服務架構實戰》