<Eureka 서버 역할>
<Eureka 서버 생성>
필수 의존성
Main 클래스에 @EurekaEnableServer 어노테이션 등록
Eureka 설정
server.port=8761
eureka.client.register-with-euerka=false
eureka.client.fetch-registry=false
@Configuration
@EnableWebSecurity
public class SecurityConfig {
// 인코딩
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
// 시큐리티 필터
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.csrf((auth) -> auth.disable());
// 모든 경로에 대해 특정 권한 필요
http.authorizeHttpRequests((auth) -> auth.anyRequest().authenticated());
// httpBasic 통한 로그인
http.httpBasic(Customizer.withDefaults());
return http.build();
}
// 이 내부에 접근할 수 있는 id, pw
// 한두개이기 때문에 인메모리로 저장
@Bean
public UserDetailsService userDetailsService() {
UserDetails user1 = User.builder()
.username("admin")
.password(bCryptPasswordEncoder().encode("1234"))
.roles("ADMIN")
.build();
return new InMemoryUserDetailsManager(user1);
}
}
접속 후 eureka 대시보드. 현재는 연결된 인스턴스 없음.
<Eureka 클라이언트>