CORS 처리하기

» dev

CORS?

브라우저에서 보안의 목적으로 A라는 도메인에서 B라는 도메인으로 요청을 할때, cross-origin이 발생한다. cross-origin을 요청하기 위해 요청받는 쪽에서 허가를 해주어야 한다.

동작방식은 클라이언트에서 요청 시 브라우저가 OPTIONS라는 메소드로 먼저 임시 요청을 하여 cross-origin허가가 되는지 확인을 한다. 이후 결과에 따라 정식 요청인 ‘GET’, ‘POST’, ‘PUT’, ‘DELETE’등 메소드에 대해 허락/차단을 진행하게 된다.

cross-origin

croos-orign은 다음과 같다.

  • protocal, domain, port
  • 위 세가지가 요청하는 곳과 받는 곳이 다른 경우 발생을 하게된다.

    https://localhost:8080 => https://localhost:3000 (x)
    https://localhost:8080 => https://domain.com:8080 (x)
    https://localhost:8080 => http://localhost:8080 (x)

  1. preflight ????
  2. cors 처리 작성
  3. 요청 응답별 필요한 헤더 값
  4. 헤더 별 가지는 기능 작성하기
  5. springboot에서 처리, 쿠버네티스에서 처리