cors 해결
- 작성자 :
- ㅊ*ㅊ
- 작성일 :
- 2022-05-02 10:49:46
- 조회수 :
- 2,949
- 구분 :
- 적용지원(기술지원)
- 진행상태 :
- 완료
Q
잘 쓰던 외부 api가 cors 문제가 생겼습니다
Access to XMLHttpRequest at '외부API' from origin '주소' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
web.xml
<filter>
<filter-name>cors</filter-name>
<filter-class>org.egovframework.cmmn.filter.SimpleCORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cors</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
@Component
public class SimpleCORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
response.setHeader("Access-Control-Allow-Origin", "*");
//response.setHeader("Access-Control-Allow-Origin", "http://services.arcgisonline.com");
chain.doFilter(req, res);
}
public void init(FilterConfig filterConfig) {
}
public void destroy() {
}
}
등록을 해 놓았는데도 여전히 문제가 발생 중입니다. 시큐리티에 관련하여 설정을 더 추가적으로 해 주어야 하나요?
잘 쓰던 외부 api가 cors 문제가 생겼습니다
Access to XMLHttpRequest at '외부API' from origin '주소' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
web.xml
<filter>
<filter-name>cors</filter-name>
<filter-class>org.egovframework.cmmn.filter.SimpleCORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cors</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
@Component
public class SimpleCORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
response.setHeader("Access-Control-Allow-Origin", "*");
//response.setHeader("Access-Control-Allow-Origin", "http://services.arcgisonline.com");
chain.doFilter(req, res);
}
public void init(FilterConfig filterConfig) {
}
public void destroy() {
}
}
등록을 해 놓았는데도 여전히 문제가 발생 중입니다. 시큐리티에 관련하여 설정을 더 추가적으로 해 주어야 하나요?
환경정보
-
- OS 정보 :
- 표준프레임워크 버전 : 3.0.0
- JDK(JRE) 정보 : 1.6
- WAS 정보 : tomcat 7.0
- DB 정보 : oracle
- 기타 환경 정보 :
<spring.maven.artifact.version>3.2.9.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.0.0</egovframework.rte.version>
<vertx.version>2.0.1-final</vertx.version>
<mod-socket-io.version>1.0.2</mod-socket-io.version>
A
안녕하세요.
표준프레임워크센터 입니다.
센터에서 자세한 내용을 알수 없으나
기재한 내용으로 볼때
맞는것으로 보입니다.
외부 호출하는 사이트에서 추가로 필요로 하는 사항이 있는지
점검해 보실 필요가 있어보입니다.
감사합니다.
표준프레임워크센터 입니다.
센터에서 자세한 내용을 알수 없으나
기재한 내용으로 볼때
맞는것으로 보입니다.
외부 호출하는 사이트에서 추가로 필요로 하는 사항이 있는지
점검해 보실 필요가 있어보입니다.
감사합니다.