我正在为我们的应用程序使用 spring cloud gateway。我们需要从所有配置的路由中删除所有敏感标头。我是这样配置的-
spring:
cloud:
gateway:
default-filters:
#Remove All the sensitive request headers (Cookie, Set-Cookie & Authorization) while passing request to downstream services
- RemoveRequestHeader=Cookie
- RemoveRequestHeader=Set-Cookie
- RemoveRequestHeader=Authorization
这是按预期工作的。现在我们需要将 Authorization 标头仅传递给其中一个路由。有没有办法配置它,这样我就不必在所有路由中添加 3 RemoveRequestHeader
?
我曾尝试专门为一条路由添加授权请求标头,但由于路由排序而无法正常工作。一旦请求标头被移除,就无法重新添加。
附言- 在迁移到 Spring Cloud Gateway 之前,我们一直在使用 Zuul,这是可行的。
答案 0 :(得分:0)
默认过滤器是全有或全无。要执行您想要的操作,您需要将 RemoveRequestHeader 添加到每个需要它的路由中,从不需要它的路由中省略它。