在使用spring gateway作为网关时,我们经常需要在将请求转发到下游服务时,过滤掉某些请求头,以避免不必要的信息泄露,而spring gateway提供了RemoveRequestHeader内置的过滤器帮我们实现该功能,此外,我们也可以通过实现自定义的过滤器来实现。
RemoveRequestHeader——特定的路由
我们可以基于内置的RemoveRequestHeader,在将请求转发到特定的下游服务时,过滤掉特定的请求头。
单个请求头
例如,我们需要移除Authorization请求头,如下所示:
spring:
cloud:
gateway:
routes:
- id: remove_header_route
uri: http://httpbin.org
predicates:
- Path=/remove-header/**
filters:
- RemoveRequestHeader=Authorization # 移除 Authorization 请求头
如上,filters中,列表中定义了多个过滤器。这里我们使用 RemoveRequestHeader
过滤器来移除 Authorization