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

類中,可以查看各個參數的默認值。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: