最近在学习spring cloud,由于学习资料具有普遍性,部分应个人原因导致的小细节问题,往往很难找到解决的办法。这特别记录一下自己遇到的一些问题。

一、eureka-server加入security做基础访问控制报错Batch update failure with HTTP status code 401; discarding 1 replication tasks

详细错误如下:

spring cloud学习填坑笔记_客户端

场景交代:

eureka-server程序加入security后,启动程序日志是OK的,在没有其他eureka客户端访问的情况下会定时打印出“Running the evict task with compensationTime 0ms”这样的提示。当启动一个客户端连接eureka-server后,eureka-server日志中就多出了截图中的错误,而且会在每次eureka的定时任务线程中都会抛出错误提示日志。

看错误log,http的状态码是401,虽然明显是权限问题导致的,我检查eureka-client程序的配置

spring cloud学习填坑笔记_用户名_02

可以看到是配置了访问eureka-server的用户名和密码的,由于客户端功能和配置都相当简单,检查几遍后,并未看出任何问题,说明eureka客户端权限是正常的。于是怀疑在eureka-server端出了问题。

检查了一下服务端配置,发现在eureka-server中eureka.client.serviceUrl.defaultZone配置的是这样的spring cloud学习填坑笔记_springCloud_03

是不是这里少了访问用户名和密码导致的呢,于是我们在连接中增加了用户名和密码,如下spring cloud学习填坑笔记_客户端_04

重新启动eureka-server和eureka-client,问题解决,不在报401的错误了。

    <!-- 登录查看 begin -->
<!-- 登录查看 end -->
</div>