CORS이란? / 설정 확인 / 예제 정리
- IT/Apache
- 2023. 2. 5.
반응형
반응형
CORS란?
CORS(Cross-Origin Resource Sharing)은 웹 브라우저에서 다른 도메인의 API를 사용할 때, 보안을 위해 설정된 보안 정책입니다.
예를 들어, 웹 사이트 A가 API 서버 B에서 데이터를 가져오려 할 때,
API 서버 B에서 CORS 허용 설정이 되어 있지 않으면 웹 브라우저에서 API 접근이 거부될 수 있습니다.
CORS 설정은 API 서버에서 HTTP 응답 헤더에 "Access-Control-Allow-Origin" 항목을 추가하여 허용할 도메인을 지정하는 것으로 가능합니다.
예를 들어, 아래와 같이 설정할 수 있습니다.
$ Access-Control-Allow-Origin: https://example.com
이렇게 설정된 API 서버는 example.com 도메인에서만 API 접근이 가능하게 됩니다.
설정 방법
웹서버 별로 모든 요청에 대해 허용하는 방법은 아래와 같습니다.
Apache
httpconf 또는 .htaccess 파일에 설정
$ Header set Access-Control-Allow-Origin "*"
Nginx
nginx.conf 파일에 설정
$ add_header 'Access-Control-Allow-Origin' '*';
Tomcat
web.xml 파일에 설정
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
curl 멍령어를 이용한 CORS 예제
http://example.com 도메인에서 http://api.example.com/resources/posts API 서버 접속
curl -X GET http://api.example.com/resources/posts \
-H "Origin: http://example.com"
서버에서 허용이 되어있는지 확인하는 방법
curl 명령어를 통해 대상 서버에 요청하고 응답 헤더를 확인하여,
대상 서버의 CORS 구성을 확인할 수 있습니다.
서버의 CORS 헤더를 확인하려면 다음 curl 명령을 사용합니다.
$ curl -I http://example.com
출력 결과
$ Access-Control-Allow-Origin: *
반응형
'IT > Apache' 카테고리의 다른 글
cors 에러 조치 / Access-Control-Allow-Origin / access-control-allow-credentials (0) | 2023.02.13 |
---|---|
Tomcat - service Temporarily unavailable error (0) | 2023.02.07 |
아파치(httpd) ddos mod_evasive 모듈 설치 및 테스트 (0) | 2023.01.13 |
[아파치] apache Rewriter http로 접속시 https로 리다이렉트하기 (0) | 2021.07.21 |
[WEB] Nginx 설치하기(on Centos7) (0) | 2020.12.18 |