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。
推薦閱讀:
- SpringCloud超詳細講解微服務網關Gateway
- 深入剖析網關gateway原理
- spring cloud gateway轉發服務報錯的解決
- SpringCloud Eureka服務治理之服務註冊服務發現
- SpringCloud Gateway的基本入門和註意點詳解