Spring Cloud入门、实战与进阶 3.5开启Eureka认证

149 阅读1分钟

"Cannot execute request on any known server"错误

什么问题?

Eureka客户端无法让注册中心发现

怎么引起的?

eureka:
  client:
    #Eureka 服务地址,将自身注册到eureka中去
    service-url:
      default-zone: http://admin:123456@localhost:8761/eureka/

这段代码,url配置认证信息时导致,eureka.client.service-url.default-zone读取不到链接,从而引起注册中心无法发现。

读取不到连接的原因在于,spring boot读取配置文件是,默认会将eureka.client.service-url.default-zone转换成驼峰命名serviceUrl,实际上没有转换成功,抛出了该异常。

找了下发现必须用.defaultZone, 应该是serviceUrl本身是Map,不用调set方法,就不会发起转换功能。

解决办法:

eureka:
  client:
    #Eureka 服务地址,将自身注册到eureka中去
    serviceUrl:
      defaultZone: http://admin:123456@localhost:8761/eureka/

将“-”改成驼峰命名