GateWay 中StripPrefix的作用

网关过滤器


StripPrefix 过滤器


StripPrefix网关过滤器工厂采用一个参数StripPrefix。 StripPrefix参数表示在将请求发送到下游之前从请求中剥离的路径个数。

作用: 去掉部分URL路径

spring:
  cloud:
    gateway:
      routes:
      - id: bds-lbs-service
        uri: lb://bds-lbs-service
        predicates:
        - Path=/lbs/**
        filters:
        - StripPrefix=1

如上,我们访问网关地址http://host:port/lbs/hello时
若无StripPrefix过滤器时,gateway 发送请求到后台服务bds-lbs-service的url就是http://bds-lbs-service/lbs/hello
若有StripPrefix过滤器时,gateway会根据StripPrefix=1所配的值(这里是1)去掉URL路径中的部分前缀(这里去掉一个前缀,即去掉lbs)
发送请求到后台服务spring-cloud-producer的url变成http://bds-lbs-service/hello
*

spring:
  cloud:
    gateway:
      routes:
      - id: crm
        uri: http://crm
        predicates:
        - Path=/crm/**
        filters:
        - StripPrefix=2

当通过网关向/name/bar/foo发出请求时,对nameservice的请求将类似于http://crm/foo。

PrefixPath 过滤器

作用: 它的作用和StripPrefix正相反,是在URL路径前面添加一部分的前缀

spring:
  cloud:
    gateway:
      routes:
      - id: bds-lbs-service
        uri: lb://bds-lbs-service
        filters:
        - PrefixPath=/lbs

这将会把/lbs添加到路由prefixpath_route匹配到的所有请求的路径的前面。
所以对/hello的请求将会被发送到/lbs/hello。

  • 20
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值