CORS 에러
2022. 2. 7. 18:32ㆍ에러&&공부노트
CORS란?
- 교차 출처 리소스 공유(Cross-Origin Resource Sharing)
- 지정된 도메인 외부에 있는 자원에 대한 접근을 통제하는 브라우저 메커니즘
- 자원에 대한 접근은 httpd 헤더를 사용하여 허용함
- SOP(Same-Origin Policy)가 확장된 정책
SOP(Same-Origin Policy)
- 동일한 port,http,host에서 자원에 대한 접근을 허용
에러나는 상황
- API를 호출하는 도메인이 서버 측 도메인과 다를 경우 발생합니다.
해결 방법
- 서버 측에서 add_header 'Access-Control-Allow-Origin' '*'; 를 추가합니다.
#nginx서버 시 $ sudo vim /etc/nginx/sites-avaliable/default
server {
listen <포트>;
listen [::]:<포트>;
root /var/www/<디렉토리명>;
server_name <서버네임>;
add_header 'Access-Control-Allow-Origin' '*';
}
- 프록시 설정을 합니다. -> 제 경험으로는 localhost에서는 호출이 가능하나 배포 시 에러가 발생합니다. 배포 서버에도 따로 작업이 필요한거 같아 첫 번째 방법을 추천드립니다.
이 외의 오류
위에 해결방법으로도 에러가 발생 시 체크해야되는 사항이 서버 측이 SSL이 적용되어있고 api를 호출하는 도메인이 SSL이 미적용되어있다면 에러가 날겁니다. 저같은 경우 필요에 따라 localhost에서도 SSL을 적용해서 해결했습니다. 참고로
- ssl -> ssl 호출 가능
- ssl -> no ssl 호출 불가능
- no ssl -> ssl 호출 가능
- no ssl -> no ssl 호출 가능
이 점 참고 해주세요.
'에러&&공부노트' 카테고리의 다른 글
백준 1152번 풀이 node (0) | 2022.02.11 |
---|---|
백준 1157 풀이 node (0) | 2022.02.11 |
백준 10809번 문제풀이(node) (0) | 2022.02.11 |
한수 개수 구하기 (0) | 2022.02.10 |
셀프 넘버 구하기 (0) | 2022.02.10 |