微服务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微服务架构实战》

猜你喜欢

转载自blog.csdn.net/weixin_43439494/article/details/83820074