카테고리 없음

spring&react 협업세션에서의 TIP

sandbackend 2022. 11. 2. 23:18

cors 팁 / 콘솔창 팁

 

로그를 통해 어디서 막히는지 확인 할수 있는

org.apache.coyote.http11: debug

- 클라이언트에서 어떤 방식이 들어오는지 헤더와 바디를 볼수 있어, 유용함

- 테스트 단계에서만 사용! 로그가 많이 쌓임

 

 

CORS 설정 <SecurityConfig 파일>

일단 http쪽에 이 설정 먼저해야 밑에 corsConfigurationSource가 적용된다.

@Bean
    public CorsConfigurationSource corsConfigurationSource(){

        CorsConfiguration config = new CorsConfiguration();

        // 서버에서 응답하는 리소스에 접근 가능한 출처를 명시
        config.addAllowedOrigin("http://localhost:3000");
        //config.addAllowedOrigin("http://book-quest.s3-website.ap-northeast-2.amazonaws.com");

        // 특정 헤더를 클라이언트 측에서 사용할 수 있게 지정
        // 만약 지정하지 않는다면, Authorization 헤더 내의 토큰 값을 사용할 수 없음
        config.addExposedHeader(TokenProvider.AUTHORIZATION_HEADER);

        // 본 요청에 허용할 HTTP method(예비 요청에 대한 응답 헤더에 추가됨)
        config.addAllowedMethod("*");

        // 본 요청에 허용할 HTTP header(예비 요청에 대한 응답 헤더에 추가됨)
        config.addAllowedHeader("*");

        // 기본적으로 브라우저에서 인증 관련 정보들을 요청 헤더에 담지 않음
        // 이 설정을 통해서 브라우저에서 인증 관련 정보들을 요청 헤더에 담을 수 있도록 해줍니다.
        config.setAllowCredentials(true);

        // allowCredentials 를 true로 하였을 때,
        // allowedOrigin의 값이 * (즉, 모두 허용)이 설정될 수 없도록 검증합니다.
        config.validateAllowCredentials();

        // 어떤 경로에 이 설정을 적용할 지 명시합니다. (여기서는 전체 경로)
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);

        return source;
    }

 

 

 

 

토큰 없이 동작 할 수 있게 url permit

 

 

@Transacion 은 한번만 해주면댐

 

@ResponseStatus(HttpStatus.CREATED) 

-상태

 

 

프록시 서버 사용 금지!

 

프리플라이트, https가 옵션인 경우