服务端: yml配置
spring:
application:
#切记这里不能打下划线名称 不然会造成服务注册中心项目无法启动 详情可以看我的博文
name: spring-cloud-eureka
#配置安全检验机制
security:
user:
name: dubby
password: dubby
#服务端口号
server:
port: 8100
#eureka 基本信息配置
eureka:
instance:
#注册到eurekaip地址(注册中心IP)
hostname: 127.0.0.1
#表示eureka server收到client的心跳时间开始 到等待下一次时心跳时间的最大等待时间 默认为90s 超过等待90秒 eureka server就会该实例剔除服务注册中心 (按需更改,可以不配置使用默认)
lease-expiration-duration-in-seconds: 90
#标识eureka client发送给server端的频率 如果在规定时间内 server端还未接收到心跳 则剔除该实例 默认时间30s (按需更改,可以不配置使用默认)
lease-renewal-interval-in-seconds: 30
client:
serviceUrl:
defaultZone: http://localhost:8100/eureka/
#表示是否需要将自己注册到Eureka Server上(默认为true),本次位单机部署,不需要设置为true;但是注册中心集群时候必须为true;因为集群时,需要提供本Eureka Server可发现性;(即是否注册自己的开关)
register-with-eureka: false
#表示是否从Eureka Server获取注册信息(默认为true);这是一个单点的 Eureka Server,不需要同步其他节点的数据,可以设为false
fetch-registry: false
增加依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
客户端: yml配置 defaultZone需要增加用户名和密码的配置
server:
port: 8102
spring:
application:
name: eurekaclient002
eureka:
client:
service-url:
register-with-eureka: false
fetch-registry: false
defaultZone: http://dubby:dubby@localhost:8100/eureka/
如果上述还不能解决客户端服务启动不了问题:
在服务端的application加入:
@EnableWebSecurity static class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable().authorizeRequests() .anyRequest() .authenticated() .and() .httpBasic(); } }
完整代码: