首页 > 编程语言 > Spring Cloud Gateway去掉url前缀
2021
10-28

Spring Cloud Gateway去掉url前缀

Spring Cloud Gateway去掉url前缀

主要是增加一个 route,其他配置不变

routes:
  - id: service_customer
    uri: lb://CONSUMER
    order: 0
    predicates:
      - Path=/customer/**
    filters:
      - StripPrefix=1
      - AddResponseHeader=X-Response-Default-Foo, Default-Bar

新增的StripPrefix可以接受一个非负整数,对应的具体实现是StripPrefixGatewayFilterFactory,从名字就可以看出它的作用是去掉前缀的,那个整数即对应层数。

具体到本例中,我们通过 Spring Cloud Gateway 访问 /customer/hello/windmt,那么当网关服务向后转发请求时,会去掉/customer,微服务收到的就是/hello/windmt。

Spring Cloud中eureka.instance为前缀的的常用配置参数说明

参数名 说明 默认值
preferIpAddress 是否优先使用IP地址作为主机名的标识 false
leaseRenewalIntervalInSeconds Eureka客户端向服务端发送心跳的时间间隔,单位为秒 30
leaseExpirationDurationInSeconds Eureka服务端在收到最后一次心跳之后等待的时间上限,单位为秒。超过该时间之后服务端会将该服务实例从服务清单中剔除,从而禁止服务调用请求被发送到该示例上 90
nonSecurePort 非安全的通信端口号 80
securePort 安全的通信端口号 443
nonSecurePortEnabled 是否启用非安全的通信端口号 true
securePortEnabled 是否启用安全的通信端口号
appname 服务名,默认取spring.application.name的配置值 unkonwn
hostname 主机名,不配置的时候将根据操作系统的主机名来获取

注意:

org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean

类中,可以查看各个参数的默认值。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧