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

相關文章
相關標籤/搜索