CORS(Cross-origin 리소스 공유)는 브라우저에서 실행 중인 스크립트에서 시작되는 cross-origin HTTP 요청을 제한하는 브라우저 보안 기능입니다. REST API의 리소스가 비 단순 cross-origin HTTP 요청을 받을 경우 CORS 지원을 활성화해야 합니다.
CORS 지원 활성화 여부 확인
cross-origin HTTP 요청은 다음에 대해 이루어지는 요청입니다.
- 다른 도메인(예: example.com에서 amazondomains.com으로)
- 다른 하위 도메인(예: example.com에서 petstore.example.com으로)
- 다른 포트(예: example.com에서 example.com:10777으로)
- 다른 프로토콜(예: https://example.com에서 http://example.com으로)
Cross-origin HTTP 요청은 단순 요청과 비 단순 요청의 두 가지 유형으로 나눌 수 있습니다.
다음과 같은 모든 조건을 충족하는 HTTP 요청은 단순 요청입니다.
- GET, HEAD, POST 요청만 허용하는 API 리소스에 대해 발행된 요청입니다.
- POST 메서드 요청인 경우 Origin 헤더를 포함해야 합니다.
- 요청 페이로드 콘텐츠 유형이 text/plain, multipart/form-data 또는 application/x-www-form-urlencoded입니다.
- 요청에 사용자 지정 헤더가 없습니다.
- 단순 요청에 대한 Mozilla CORS 문서에 나열된 추가 요청.
단순 cross-origin POST 메서드 요청의 경우 해당 리소스로부터의 응답에 Access-Control-Allow-Origin 헤더가 포함되어야 합니다. 헤더 키 값은 '*'(임의의 오리진)으로 설정되거나, 해당 리소스에 대한 액세스가 허용되는 오리진으로 설정됩니다.
다른 모든 cross-origin HTTP 요청은 비 단순 요청입니다. API의 리소스에서 비 단순 요청을 수신하는 경우 CORS 지원을 활성화해야 합니다.
CORS를 사용하여 모든 오리진에서 함수 URL에 대한 액세스 권한을 부여합니다. CORS를 사용하여 함수 URL에 대한 요청에서 특정 HTTP 헤더 및 메서드의 액세스를 제어할 수도 있습니다.
참고 : https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/how-to-cors.html
https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/API_Cors.html
'IT Tech' 카테고리의 다른 글
Azure DevOps 구성요소 (0) | 2023.01.12 |
---|---|
AWS RDS 로그 설정방법 (0) | 2023.01.12 |
AWS 리소스 영역 (0) | 2023.01.12 |
메타스트럭처(Metastructure) (0) | 2022.11.07 |
Zero Trust Architecture (0) | 2022.09.16 |