完整报错信息:
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
报错体现:
访问eureka控制面板:
访问测试地址:
控制台报错:
可能的报错原因:
①没有配置账号密码,所以一直进不去Eureka页面:见解决方案1
②Eureka Server在启动时也将自身做为服务向注册中心进行注册:见解决方案2
③端口号冲突:见解决方案3
解决方案1:
方法一:
在对应的pom文件中把Springsecurity的依赖删掉(注释掉),等配置好密码后再添加回来
方法二:关闭security的认证
方法三:
自己写一套认证的逻辑,把eureka放行
内部调用在请求头上加个密钥,判断一下,有就放行
外部调用没有密钥正常走登录逻辑
这样就能够访问eureka控制面板
解决方案2:
在配置文件中添加:
# 配置是否将自己也注册到服务中心当中去 这个地方当然没必要 所以设置成false即可
eureka.client.register-with-eureka=false
# 设置是否在eureka服务中心中获取服务的地址这个地方也设置成false
eureka.client.fatch-registry=false
解决方案3:
发现是端口号都是5000冲突了,那就直接更改端口号