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/