Eureka-安全配置

之前已经成功的实现了一个 Eureka 的服务启动以及微服务的注册配置操作,但是现在的程序有一个问题,你自己公司的 Eureka 服务应该可以注册的服务只能够是满足于认证要求的微服务,所以这样一来在之前所进行的 Eureka 里面配置缺少关键性的一步: 安全认证,所以应该为 Eureka 配置上安全认证处理。

 

注册中心

Maven:

在之前注册服务pom.xml的文件里新增依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-security</artifactId>
</dependency>

配置文件:

追加密码项配置。


server:
 port: 8761


security:
 basic:
  enabled: true  # 启用安全认证处理
 user:
  name: edmin   # 用户名
  password: studyjava # 密码

 
eureka:
 instance:
  hostname: localhost
 server:
  enable-self-preservation: false   # 关闭自我保护模式(默认为打开)
  eviction-interval-timer-in-ms: 5000 # 续期时间,即扫描失效服务的间隔时间(缺省为60*1000ms)
 client:
  register-with-eureka: false
  fetch-registry: false
  service-url:
   defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

 

此时访问 eureka 的服务地址为:http://edmin:studyjava@localhost:8761/

 

Eureka客户端

配置文件:

server:
 port: 8762
spring:
 application:
  name: service-hi
 #zipkin:
  #base-url: http://localhost:9411
 
eureka:
 instance:
  lease-renewal-interval-in-seconds: 5   # 心跳时间,即服务续约间隔时间(缺省为30s)
  lease-expiration-duration-in-seconds: 15 # 发呆时间,即服务续约到期时间(缺省为90s)
 client:
  registry-fetch-interval-seconds: 10 # 拉取服务注册信息间隔(缺省为30s)
  service-url:
   defaultZone: http://edmin:studyjava@localhost:8761/eureka/
  healthcheck:
   enabled: true # 开启健康检查(依赖spring-boot-starter-actuator)

注册中心的地址要修改为带有用户名和密码的地址:http://edmin:studyjava@localhost:8761/eureka/