본문으로 건너뛰기

Cross-Origin Resource Sharing (CORS)

개요

CORS (Cross-Origin Resource Sharing) Policy는 서버의 리소스가 서로 다른 출처에서 어떻게 접근될 수 있는지를 제어합니다. 이는 서로 다른 도메인에 호스팅된 API에 의존하는 웹 애플리케이션에 매우 중요합니다. CORS 정책은 허용된 메서드, 헤더, 자격 증명 및 캐싱 동작을 정의하여 안전한 교차 출처 요청을 보장합니다.

구성 세부정보

CORS Policy은 접근 및 보안을 제어하는 여러 주요 설정을 포함합니다:

FieldDescriptionExample ValuesNotes
methods허용된 HTTP 메서드를 정의합니다.GET, HEAD, PUT, PATCH, POST, DELETE, OPTIONS, TRACE, CONNECT모든 메서드를 허용하려면 *을 사용하세요.
origins허용된 출처(도메인)를 지정합니다.https://www.example.com:8000, https://www.google.com:80모든 출처를 허용하려면 *을 사용하세요.
allowHeaders허용된 요청 헤더를 나열합니다.x-apim-key, Content-Type모든 헤더를 허용하려면 *을 사용하세요.
exposedHeaders클라이언트에 노출되어야 하는 헤더를 정의합니다.Content-Length, X-My-Custom-Header, X-Another-Custom-Header모든 헤더를 노출하려면 *을 사용하세요.
allowCredential자격 증명(쿠키, 인증)이 허용되는지를 결정합니다.true / falsetrue인 경우, origins 또는 allowHeaders에서 *을 사용할 수 없습니다. 기본값: false.
maxAge프리플라이트 요청이 캐시되는 기간(초)입니다.3600기본값: 3600 (1시간).

참고:

  • 보안 위험을 방지하기 위해 origins에서 사용하는 것을 피하세요.
  • 인증 자격 증명이 필요하지 않은 경우 allowCredential을 false로 설정하세요.
  • exposedHeaders에서 필요한 헤더만 노출하세요.
  • maxAge을(를) 증가시켜 불필요한 사전 비행 요청을 줄입니다.
  • 허용된 메서드와 헤더를 필요한 것만으로 제한합니다.