한 A
사이트에서 실행중인 웹 애플리케이션이 다른 B
사이트의 자원에 접근하려는 것을 Cross origin요청 이라 한다.
원래 웹 애플리케이션은 자신의 출처와 동일한 리소스만 불러올 수 있으며, 다른 출처의 리소스를 불러오려면 그 출처에서 올바른 CORS header를 포함한 응답을 반환해야한다.
보안상의 이유로 비활성화 되어있기 때문에 B는 응답에서 Access-Control-Allow-Origin헤더를 보낸다. 기본적으로 도메인은 다른 도메인에서 호스팅되는 API에 액세스할 수 없다. Django 애플리케이션에서 호스팅되는 REST API(예: 백엔드)가 다른 서버에서 호스팅되는 다른 애플리케이션(예: 프론트엔드)에서 액세스할 수 있도록 허용하려면 CORS(Cross-Origin Resource Sharing)를 활성화해야 한다.
다음의 단계에 따라 시행합니다.
pip3
을 사용하여 django-cors-headers 설치하기pip3 install django-cors-headers
INSTALLED_APPS
안에 corsheaders
추가settings.py의 MIDDLEWARE
에 다음을 추가
settings.py에 CORS
추가 설정
참고
How to enable CORS headers in your Django Project?
교차 출처 리소스 공유 (CORS)