过滤器 RemoveRequestHeader · SpringCloud微服务实战 · 看云

6. 过滤器 RemoveHopByHopHeadersFIlter

导航

RemoveHopByHopHeadersFilter GatewayFilter工厂从转发的请求中删除header,被删除的header列表来自IETF。

本节代码地址


默认删除的header是:

  • Connection
  • Keep-Alive
  • Proxy-Authenticate
  • Proxy-Authorization
  • TE
  • Trailer
  • Transfer-Encoding
  • Upgrade
    如果希望去修改它,可以通过设置spring.cloud.gateway.filter.remove-non-proxy-headers.headers属性来移除header列表。

RemoveRequestHeader``GatewayFilter工厂需要一个name参数。它是要删除的标题的名称

6.1 应用配置

我们在配置中设置需要删除key为BlueHeader值,实际请求中会将Header中的Blue的值。

server:
  port: 8699
spring:
  application:
    name: fw-gateways-gateway
  profiles:
    active: remove_request_header_route
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
---
spring:
  cloud:
    gateway:
      routes:
        - id: remove_request_header_route
          uri: lb://fw-cloud-ribbon-server
          predicates:
          - After=2020-01-08T18:30:11.965+08:00[Asia/Shanghai]
          filters:
          - RemoveRequestHeader=Blue
  profiles: remove_request_header_route

6.2 应用启动

Postman 输入localhost:8699/user/header
可以看到虽然设置了Header的值,但是被清掉了
b7f2a976013e547c6d26ad9aa772b528_MD5.webp