SpringCloud zuul 게 이 트 웨 이 는 어떻게 도 메 인 문 제 를 해결 합 니까?

크로스 필드
SpringCloud 에서 zuul 과 springboot boot 를 동시에 설정 해 야 게 이 트 웨 이 처리 크로스 도 메 인 을 실현 할 수 있 습 니 다.
해결 Access to XML HttpRequest at'http://192.168.2.173:8001/energy-base/groupType/getPageByType?timestamp=1557886425725' from origin ‘http://localhost:3000' has been blocked by CORS policy: The ‘Access-Control-Allow-Origin' header contains multiple values ‘http://localhost:3000, *', but only one is allowed.
Access-Control-Allow-Origin 은 하나의 값 해결 방안 만 있 을 수 있 습 니 다.
SpringBoot 코드

@Configuration
public class CorsConfig {
    @Bean
    public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true); //   cookies  
        config.addAllowedOrigin("*");// #            URI,*      , SpringMVC ,    *,            Origin
        config.addAllowedHeader("*");// #        ,*    
        config.setMaxAge(7200L);//          ( ),        ,               
        config.addAllowedMethod("*");//          ,*      
        source.registerCorsConfiguration("/**", config);
        return new CorsFilter(source);
    }
}
zuul yml 설정

zuul:
  #         ,         
  sensitive-headers: Access-Control-Allow-Origin
  ignored-headers: Access-Control-Allow-Origin,H-APP-Id,Token,APPToken
  max:
    host:
      connections: 5000 #      
  host:  #  
    socket-timeout-millis: 60000
    connect-timeout-millis: 60000
SpringCloud zuul 에서 만난 구덩이 로
최근 필 자 는 SpringCloud Zuul 을 마이크로 서비스의 게 이 트 웨 이 로 연구 하고 사용 하고 있다.이 마이크로 서비스 게 이 트 웨 이에 서 우 리 는 권한 관리 와 경로 가 백 엔 드 로 전송 되 었 고 백 엔 드 의 마이크로 서 비 스 는 SpringBoot 로 개발 되 었 으 며 Python Django 로 개발 되 었 습 니 다.
하지만 어떤 서비스의 호출 은 다음 메시지 로 돌아 갑 니 다.
{"timestamp":"2020-09-07 11:45:38","status":500,
"error":"Internal Server Error","exception":"com.netflix.zuul.exception.ZuulException",
"message":"GENERAL"
}
위의 오류 정 보 는 매번 나타 나 는 것 이 아니 라 모든 백 엔 드 API 가 나타 나 는 것 이 아 닙 니 다.
돌아 오 는 시간 이 비교적 긴 서비스 에 대해 서 만 나 타 났 다.
첫 번 째 반응 은 퓨즈 의 연결 시간 과 읽 기 시간 초과 입 니 다.

ribbon.ConnectTimeout=60000
ribbon.ReadTimeout=60000
그리고 필자 의 모든 배치 가 맞 았 지만 결 과 는 유효 하지 않 았 다.이 어 필 자 는 SpringCloud Zuul 의 버 전 을 최신 버 전 으로 업그레이드 시 켰 지만 문 제 를 해결 하지 못 했다.
뒤에 야 spring-retry 의 의존 을 pom.xml 에 넣 지 않 았 기 때문에 설 정 된 retry 의 매개 변 수 는 모두 유효 하지 않 습 니 다.또한 로그 도 spring-retry 의 의존 이 부족 하 다 는 것 을 알 리 지 않 습 니 다.개인 적 으로 이 zul 코드 는 보완 이 필요 하 다 고 생각 합 니 다.retry 의 매개 변 수 를 작성 하면 spring-retry 의 의존 여 부 를 판단 해 야 합 니 다.
spring-retry 의 의존 을 더 해 문제 해결!

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
</dependency>
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기