Loading views...
지오서버 접속 완료

지오서버 접속 완료

Date
Date
2019 Dec 1 0:0
Created by
Created by
Seonglae ChoSeonglae Cho
Created time
Created time
2023 Feb 28 12:39
Last edited by
Last edited by
Seonglae ChoSeonglae Cho
Last edited time
Last edited time
2023 Apr 15 16:51
Refs
Refs

문제


톰캣과 아파치에 대한 자료를 찾아본 결과 나는 톰캣과 아파치가 따로 작동하여 톰캣에 접속하려면 8080포트를 외부에 열어줘야 하는 줄 알았다
 

뻘짓


물론 위와 같이 각자 포트별로 서비스하는게 가능할수? 는 있을 것 같지만, 보안문제를 더불어 그렇게 만들 필요가 없다
그렇게 해보려고 서버 프로바이더 gcp 8080 console 방화벽까지 열었음 하지만 지금은 닫은 상태!
 

오해


하지만 내가 오해를 하고 있던 부분인데 아파치는 80http이나 443https으로 들어오는 녀석들을 8080으로(톰캣으로) 프록시를 통해 사용해야 하는 것이었다!
이제 내부에서 포트를 할당하므로 8080을 열어둘 필요가 없어졌다
그렇다면 앞으로 문제는 어떻게 아파치에서 8080 웹앱들(지금은 geoserver)로 연결해주냐인데..
쉽게 말해 아파치는 http 80포트로 접속하는 놈들을 받아서 여러 포트에서 활동(?) 중인 톰캣 웹앱들에 프록시로 연결해주는 역할이다 물론 그냥 정적 페이지에도 연결이 되고
web server 및 어플리케이션의 이해와 tomcat 구조
상단 배너(광고) 클릭 부탁드립니다.개발자 들이여~ 꾸벅--- 위의 그림과 같이 항상 같은 구조를 표준 처럼 유지 되어야 한다. *.html, *.jsp, 등. - 웹 어플리케이션에서 클라이언트 브라우저로 전송이 되는 HTML 과 JSP 페이지와 다른 파일들 (예를 들면 자바스크립트, 스타일시트, 이미지 같은). 대규모 어플리케이션에서 이 파일들을 서브디렉토리 체계로 나누어 놓을 수 있습니다.
web server 및 어플리케이션의 이해와 tomcat 구조
 
 

해결


아파치 웹 서버(apache httpd) 와 톰캣 연동하기 - tomcat connector(mod_jk) , reverse proxy(mod_proxy)
Apache httpd web server 와 tomcat 을 연계하는 방법은 세 가지가 있다. 예전부터 많이 쓰던 방법은 tomcat connector(mod_jk)를 사용하는 방법이고 다른 하나는 mod_proxy를 사용하여 reverse proxy 기능을 사용하는 방법, 마지막은 mod_proxy_ajp 를 사용하여 AJP Protocol을 reverse proxy 로 사용하는 방법이다.
아파치 웹 서버(apache httpd) 와 톰캣 연동하기 - tomcat connector(mod_jk) , reverse proxy(mod_proxy)
위 페이지에서 큰 도움을 얻었는데 아파치와 톰캣을 연동하는 법이다! 3가지 방법 요약하면
  • mod_jk - 옛날방식 - 컴파일도 해야하고 불편
  • mod_proxy - ajp 사용 안해서 빠름, was로직접 프록시
  • mode_proxy_ajp - ajp프로토콜로 was로 전달!
나는 결론적으로 ajp로 구현했다
 
 
어차피 서버 내부이기 때문에 http 대신에 오버헤드가 없는 ajp를 사용한다고 한다 - 보안도 없음
 
 
  • ajp 더 간단한 예제인데 이해에 도움이 되었다
mod_proxy 톰캣과 아파치2.4 웹서버 연동
설정으로만 아파치2.4 웹서버와 톰캣 연결하기 사전준비 톰캣 설치(with geoserver) 아파치 웹서버 설치 웹서버 설정 1. /conf/httpd.conf 주석해제 또는 입력합니다 AllowOverride none # Require all denied Require all granted LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_http_module modules/mod_proxy_http.so Include conf/extra/httpd-vhosts.conf 2. /conf/extra/httpd-vhosts.conf VirtualHost 태그안에 기존 내용 주석처리 또는 삭제하고 아래내용을 입력합니다.
mod_proxy 톰캣과 아파치2.4 웹서버 연동
 
 
이걸 하면서 계속 503 500 에러가 뜨길래 왜인지 뻘짓 몇시간 하다가
로그를 봐야겠다 해서 로그 줄을 추가해서 보니 아파치 모듈 미추가가 문제였다!
[apache] If you are using a DSO version of mod_proxy, make sure the proxy submodules are included ..
아파치에서 RewriteRule [P] 옵션을 사용하려 하니 아래와 같은 에러가 났다.해결책은, httpd.conf에서 ...
[apache] If you are using a DSO version of mod_proxy, make sure the proxy submodules are included ..
위의 줄을 /etc/apache2/mods-enabled/proxy.load 에 추가했다!
아마 저 페이지에서는 아파치 1으로 한듯
 
여기서 모듈추가 방법을 배워 넣자마자 접속 됨..
notion image
가상머신으로 예제 돌리기에는 너무 노가다라서 서버에 지오서버 연결한 게 아주 뿌듯하다 지오서버 배우기 편한 느낌?
 

이유


이런 짓을 한 이유는 개인적으로 가상머신을 극혐한다 hyper -v 든 virtual box던 마우스를 못따라오는게 너무 답답해
내 공부방식의 종특이지만 나는 이렇게 환경설정에 정말 많은 시간을 투자한다... 팀프로젝트에서 시간을 잡아먹는 다는게 단점이라 미안하지만.. 주말에 나와서 했으니 그러려니 한다!
 

남은 시간은 드디어 지오서버 실습에 돌입해야겠다!


  • 여기서 우선 개념정리
GIS 기본개념 및 서비스 (Postgresql, Postgis, Geoserver, OpenLayers)
회사에서 최근 GIS 와 관련된 프로젝트를 맡게 되어서 공부를 하며 정리한 내용들을 포스팅 해볼까 합니다. 철저하게 개발자적 관점에서 GIS에 대해 아무것도 모르던 상태에서 공부한 것들이기 때문에 많은 오류가 있을수도 있으니 철저하게 지적해주시면 감사하겠습니다. (이후로는 개인적으로 정리한 것이기 때문에 ~다 체를 사용하였으니 양해부탁드립니다... (-.-) (_ _) (-.-) 꾸벅) 우선 GIS는 기본적으로 공간데이터와 속성데이터로 이루어졌다.
GIS 기본개념 및 서비스 (Postgresql, Postgis, Geoserver, OpenLayers)
 

Recommendations