오류 모음집

[GeoServer] Cross domain 문제 CORS 오류 No 'Access-Control-Allow-Origin' header is present 에러

로춘남 2021. 2. 4. 15:13
728x90

GeoServer 이용해서 지도를 출력하고 해당 위치에 있는 레이어를 클릭하면 레이어가 가지고 있는 정보를 테이블로 띄우는 기능을 구현하려고 했다.

레이어 발행까지 완료가 되었지만, 클릭을 하면 알 수 없는 에러가 나타나기 시작했다.

CORS오류라고 나오는데 검색을 해보니 Cross domain 문제로 로컬에서 자바스크립트를 이용해서 개발할때 나오는 종종 있는 현상이라고 했다.

개발자 도구 Console 창에서 No 'Access-Control-Allo-Origin 으로 시작하는 오류인데, 서버와 웹 간의 호스트 문제라고한다. 어느 한 도메인에서 다른 도메인으로 요청을 보낼때 나타는 오류!

Cross domain이 무엇인지는 나중에 다시 공부를 해보기로하고 일단 오류해결을 먼저 하기로 했다.

 

방법은 생각보다 간단했다.

지오서버가 설치된 폴더내부에 있는 web.xml 파일을 수정해주면 되는 거였다.

 

경로: /지오서버가 설치된 폴더/webapps/geoserver/WEB-INF/web.xml

web.xml 파일을 열어줘야하는데, 그냥은 안열리니 관리자 권한으로 열어줘야 한다.

파일을 열고 살펴보면 Uncommnet로 시작하는 CORS 관련 문구가 있다.

사진처럼 2개의 빨간색 네모 내부의 코드는 원래 주석처리가 되어있는데, 이 주석처리를 모두 제거해주면 된다.

 

제거가 되었다면,

지오서버를 다시 재실행을 해준다.

그러면 콘솔창에서 나타났던 오류가 사라지는 결과를 얻을 수 있을 것이다.

728x90