개발도구/WAS

Tomcat 8.x CORS Filter 설정하는 방법

노루아부지 2022. 10. 23. 22:58

교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)란?

교차 출처 리소스 공유는 브라우저가 리소스 로드를 허용해야 하는 자체가 아닌 다른 출처 (도메인, 체계 또는 포트)를 서버가 나타낼 수 있도록 하는 HTTP 헤더 기반 메커니즘입니다.

교차 출처 리소스 공유에 관한 자세한 내용은 여기에서 확인하실 수 있습니다.

 

Tomcat에서는 7.x 부터 CORS 필터를 지원합니다.

 

 

 

Tomcat 8.x CORS Filter 설정하는 방법

톰켓 8.x 버전의 CORS 필터 자료는 아래 URL에서 볼 수 있습니다.

http://tomcat.apache.org/tomcat-8.0-doc/config/filter.html#CORS_Filter

톰켓 설치 디렉토리에서 conf/web.xml에 아래와 같이 filter를 추가하면 됩니다.

<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>
  <init-param>
    <param-name>cors.allowed.methods</param-name>
    <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
  </init-param>
  <init-param>
    <param-name>cors.allowed.headers</param-name>
    <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
  </init-param>
  <init-param>
    <param-name>cors.exposed.headers</param-name>
    <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
  </init-param>
  <init-param>
    <param-name>cors.support.credentials</param-name>
    <param-value>true</param-value>
  </init-param>
  <init-param>
    <param-name>cors.preflight.maxage</param-name>
    <param-value>10</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

 

728x90
loading