본문 바로가기
가상화 - vmware, docker/docker

[Docker] Tomcat에서 CORS 해결하기

by 프룹 2022. 1. 17.
반응형

1. 해결방안

먼저 web.xml파일을 수정해야 하는데, web.xml위치가 중요하다.

conf폴더 안의 web.xml 파일을 수정해야 한다.

그리고 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>
        <init-param>
            <param-name>cors.allowed.methods</param-name>
            <param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE</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>false</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>

중요한건, 'cors.support.credentials'에 value를 false로 설정해 줘야 404오류가 안 난다.

 

2. 참고자료

https://secr.tistory.com/396

어떤 github이었는지, stackoverflow였는지 false 어쩌구 있어서 해봤는데, 되었다!!!!

 

 

반응형

댓글