小工具知识网

当前位置: 首页 > 行业知识 > spring.cloud.gateway.discovery.locator.enabled配置项分析

行业知识

spring.cloud.gateway.discovery.locator.enabled配置项分析

2026-11-10 08:31:09 来源:互联网转载

spring.cloud.gateway.discovery.locator.enabled

该配置默认为false,此配置不支持动态配置,修改后需要重启gateway生效。

开启了spring.cloud.gateway.discovery.locator.enable=true这项配置后,gateway会为每个服务创建一个默认的路由规则,将以服务名开头的请求路径转发到对应的服务。

如果你在配置文件中添加了该服务的其他规则,则两个规则会同时存在,并且都会生效。

相当于为每个服务默认增加了如下配置

- id: authority-center  uri: lb://authority-center  predicates:    - Path=/authority-center/**  filters:    - StripPrefix=1

示例1

gateway配置文件如下

server:  port: 9001    spring:  cloud:    gateway:      discovery:        locator:          lowerCaseServiceId: true          enabled: true

微服务配置如下

server:  port: 7000  servlet:    context-path: /centerspring:  application:    name: authority-center

访问url:http://127.0.0.1:9001/authority-center/center/authority/token

这时候无需其他配置,通过网关可以访问到authority-center微服务的/authority/token接口

示例2

spring:  cloud:    gateway:      discovery:        locator:          lowerCaseServiceId: true          enabled: true      routes:        - id: e-commerce-authority-center          uri: lb://authority-center          predicates:            - Path=/center/**

微服务配置如下

server:  port: 7000  servlet:    context-path: /centerspring:  application:    name: authority-center

访问url-1:http://127.0.0.1:9001/center/authority/token

访问url-2:http://127.0.0.1:9001/authority-center/authority/token

这时候访问url-1、url-2可以正常访问

spring.cloud.gateway.discovery.locator.lowerCaseServiceId

该配置是针对自动生成路由的配置,

即spring.cloud.gateway.discovery.locator.enabled=true时自动生成的路由配置有效,对于手动配置的路由不生效

比如服务名配置为 AUTHORITY-CENTER大写的服服务名,如果想访问到,需要使用如下路径

http://127.0.0.1:9001/AUTHORITY-CENTER/center/authority/token

如果配置了

spring.cloud.gateway.discovery.locator.lowerCaseServiceId=true,则可以使用如下的方式访问

http://127.0.0.1:9001/authority-center/center/authority/token

上一篇:city英语怎么读语音?

下一篇:宝塔面板怎么用exec?