spring cloud에서 겪는 문제들을 배우기 - eureka 인증 추가 후,client 단말기 등록 실패 문제

4401 단어
최근springcloud을 사용하고 있는데 그중에 몇 가지 문제가 발생했습니다. 기록해 보십시오. eureka 서버에서 보안 검증을 추가한 후에 클라이언트가 아무리 해도 등록하지 못했습니다. 오류 보고는 다음과 같습니다. 이 오류는 eureka를 발견하지 못해서 서비스 등록에 실패했다는 뜻입니다.
2018-08-09 14:50:06.042  WARN 13256 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator     : There was a problem with the instance info replicator

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

해결 방법: 먼저 설정 방법을 말하고 구 버전의 설정은 다음과 같다. 응용 프로그램에서.yml리 설정
security:
  basic:
    enabled: true #     HTTP basic   
  user:
    name: user  #         user
    password: password123 #        password123

팝에서.xml에 의존 추가
<dependency>
               <groupId>org.springframework.bootgroupId>
               <artifactId>spring-boot-starter-securityartifactId>
         dependency>

이쯤에서 방문이 가능합니다.
내가 사용한 새 버전 중 응용 프로그램.yml의 설정은 다음과 같습니다.basic라는 설정은 없지만, 새 버전은 이 설정을 열어야 합니다. 제가 사용하는 새 버전이기 때문에 계속 잘못 보고했습니다. 물론 새 버전도 이 의존을 추가해야 합니다.
<dependency>
               <groupId>org.springframework.bootgroupId>
               <artifactId>spring-boot-starter-securityartifactId>
         dependency>
spring:
  application:
    name: serviceEureka
  security:
    user:
      name: user
      password: 1

해결 방법의 새 버전은 이렇게 시작 클래스를 개조해서 basisc라는 설정을 열고 문제를 해결하려면 다음과 같은 코드를 추가해야 한다.
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication  extends WebSecurityConfigurerAdapter{
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }     
     @Override
     protected void configure(HttpSecurity http) throws Exception {
         // Configure HttpSecurity as needed (e.g. enable http basic).
         http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER);
         http.csrf().disable();
         //  :       http://${user}:${password}@${host}:${port}/eureka/       ,     httpBasic,
         //    form  ,    url    
         http.authorizeRequests().anyRequest().authenticated().and().httpBasic();

     }


}

좋은 웹페이지 즐겨찾기