最近在测试Eureka Server时总是报401错误,c.n.e.cluster.ReplicationTaskProcessor   : Batch update failure with HTTP status code 401; discarding 1 replication tasks,如下代码:

2018-12-25 17:08:42.236 ERROR 9040 --- [et_localhost-10] c.n.e.cluster.ReplicationTaskProcessor   : Batch update failure with HTTP status code 401; discarding 1 replication tasks
2018-12-25 17:08:42.236  WARN 9040 --- [et_localhost-10] c.n.eureka.util.batcher.TaskExecutors    : Discarding 1 tasks of TaskBatchingWorker-target_localhost-10 due to permanent error
2018-12-25 17:09:12.277 ERROR 9040 --- [et_localhost-10] c.n.e.cluster.ReplicationTaskProcessor   : Batch update failure with HTTP status code 401; discarding 1 replication tasks
2018-12-25 17:09:12.277  WARN 9040 --- [et_localhost-10] c.n.eureka.util.batcher.TaskExecutors    : Discarding 1 tasks of TaskBatchingWorker-target_localhost-10 due to permanent error

经过检查发现,由于我在eureka服务端启用了security安全机制,因此在进行配置defualtZone时也要设置下相关用户名和密码,代码如下:

server:
  port: 8761

eureka:
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone: http://admin:admin@localhost:8761/eureka/
  server:
    enable-self-preservation: true

spring:
  application:
    name: eureka-server
  security:
    user:
      name: admin
      password: admin 

即我原来的配置是:eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

改为:eureka.client.service-url.defaultZone=http://admin:admin@localhost:8761/eureka/

错误解决

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐