赞
踩
一、单节点配置
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
@SpringBootApplication
@EnableEurekaServer
public class SpringCloudEurekaApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudEurekaApplication.class, args);
}
}
spring: application: name: eureka-one security: user: name: admin password: admin server: port: 8000 #===========eureka config start ============= eureka: instance: hostname: localhost client: #表示是否将自己注册到Eureka Server,默认为true。 register-with-eureka: false #表示是否从Eureka Server获取注册信息,默认为true。 fetch-registry: false #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。 # 默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。 serviceUrl: defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:${server.port}/eureka/ server: waitTimeInMsWhenSyncEmpty: 0 #===========eureka config end =============
添加 security 验证,访问euraka 需要使用密码,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
security:
user:
name: admin 登录用户
password: admin 登录密码
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:${server.port}/eureka
@Configuration class WebSecurityConfig extends WebSecurityConfigurerAdapter { // @Override // public void configure(AuthenticationManagerBuilder auth) throws Exception { // auth.inMemoryAuthentication() // .passwordEncoder(NoOpPasswordEncoder.getInstance()) // .withUser("admin").password("admin") // .authorities("ADMIN"); // } // // @Override // protected void configure(HttpSecurity http) throws Exception { // http // .csrf() // .disable() // .authorizeRequests() // .anyRequest().authenticated() // .and() // .httpBasic(); // } @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().ignoringAntMatchers("/eureka/**"); super.configure(http); } }
--- spring: profiles: peer1 application: name: spring-cloud-eureka security: user: name: admin password: admin server: port: 8001 #===========eureka config start ============= eureka: instance: hostname: peer1 client: #表示是否将自己注册到Eureka Server,默认为true。双注册中心设置为true register-with-eureka: true #表示是否从Eureka Server获取注册信息,默认为true。双注册中心设置为true fetch-registry: true #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。 # 默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。 service-url: defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@peer2:8002/eureka/ #===========eureka config end ============= --- spring: profiles: peer2 application: name: spring-cloud-eureka security: user: name: admin password: admin server: port: 8002 #===========eureka config start ============= eureka: instance: hostname: peer2 client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@peer1:8001/eureka/ #===========eureka config end =============
127.0.0.1 peer1
127.0.0.1 peer2
com.xuyy.SpringCloudEurekaApplicationPeer1
com.xuyy.SpringCloudEurekaApplicationPeer2
java -jar spring-cloud-eureka-two-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar spring-cloud-eureka-two-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
1. 和双节点一样,只需要在启动一个相同实例,需要修改两处
2. 第一是 同样配置peer3
3. 第二是,修改defaultZone,添加分别指向其他两处的地址
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。