这个问题一般是config客户端无法访问到config服务端,问题出现在客户端的配置文件里面,需要注意检查配置文件当中是否指定了config服务地址和eureka地址。并且有些时候就算配置文件是错误的,但是依然能访问成功,是因为此时在eureka注册中心还未将此客户端给剔除,所以说还是可以访问成功。无法访问注册中心后,客户端会默认去访问8080端口,如果端口没被占用就还是可以启动,被占用则会直接报错。
推荐两种配置方式:
-
spring: cloud: config: uri: http://localhost:1070 # 指定config服务地址 name: application-pay # 指定需要拉取的配置文件的名称,不需要配置环境和后缀 profile: dev # 指定配置文件的环境,相当于拼接-dev.yml到name属性值后面 label: master # 需要拉去的分支
-
spring: cloud: config: name: application-pay profile: dev label: master discovery: service-id: config-server #配置中心服务名 enabled: true #使用服务名访问配置中心 eureka: client: serviceUrl: defaultZone: http://localhost:1010/eureka/ #注册中心地址,需要从注册中心使用服务名发现配置中心