SpringBoot2.x Spring-cloud.Finchley Eureka使用密码

spring.application.name=cloud-eureka
server.port=8081

eureka.instance.hostname=localhost

#是否向服务注册中心注册本身
eureka.client.register-with-eureka=false

#是否检索服务
# eureka.client.fetchRegistry :表示是否从Eureka Server获取注册信息,默认为true。由于这是一个单点的Eureka Server,
# 不须要同步其余的Eureka Server节点的数据,故而设为false。
eureka.client.fetch-registry=false

#eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
eureka.client.service-url.defaultZone=http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:${server.port}/eureka/

# 关闭自我保护机制
eureka.server.enable-self-preservation=false

#spring.profiles.active=dev

eureka.instance.prefer-ip-address=true

eureka.instance.ip-address=${eureka.instance.hostname}

spring.security.basic.enabled=true
spring.security.user.name=admin
spring.security.user.password=${REGISTRY_SERVER_PASSWORD:admin}


#关闭redis的健康检查
management.health.redis.enabled=false

health.config.enabled=false
spring.cloud.config.enabled=false

eureka.server.eviction-interval-timer-in-ms=10000
eureka.instance.lease-expiration-duration-in-seconds=90
eureka.instance.lease-renewal-interval-in-seconds=30


spring.zipkin.base-url=http://${spring.security.user.name}:${spring.security.user.password}@localhost:9411

logging.level.org.springframework=INFO

#####
eureka.instance.metadata-map.user.name=admin
eureka.instance.metadata-map.user.password=admin
eureka.instance.health-check-url=/actuator/health
eureka.instance.home-page-url=/actuator
eureka.instance.status-page-url-path=/actuator/info

配置中有一点变化spring-boot1.xjava

#security.basic.enabled=true
#security.user.name=admin
#security.user.password=${REGISTRY_SERVER_PASSWORD:admin}

若是使用密码须要在Eureka添加以下代码:redis

@EnableWebSecurity
@Configuration
public class EurekaAppConfig extends WebSecurityConfigurerAdapter {
    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER);
        http.csrf().disable();
        //注意:为了能够使用 http://${user}:${password}@${host}:${port}/eureka/ 这种方式登陆,因此必须是httpBasic,若是是form方式,不能使用url格式登陆
        http.authorizeRequests().anyRequest().authenticated().and().httpBasic();
    }
}

若是有更好的解决方案,请你们不吝赐教,分享。spring

相关文章
相关标签/搜索