| 구분 | 1. 독립 실행형 (Jetty 내장) | 2. Tomcat WAR 배포 (외부 WAS) | 3. Apache 프록시 통합 (Reverse Proxy) |
|---|
| 실행 서버 | GeoServer 자체 Jetty 서버 (내장) | 외부 Tomcat (WAS) | Apache (프론트) + Tomcat (백엔드) |
| 최종 포트 | 8090 (비표준) | 8080 (비표준) | 80/443 (표준 HTTP/HTTPS) |
| 서버 개수 | 1개 (GeoServer 프로세스) | 1개 (Tomcat 프로세스) | 2개 (Apache + Tomcat 프로세스) |
| 설정 난이도 | 최하 (설치 마법사) | 중 (환경변수, webapps) | 최상 (프록시 설정, 2개 서버 관리) |
| 핵심 장점 | 빠른 테스트 및 간편한 사용 | WAS 환경과의 안정적 통합 관리 | 보안 강화, 성능 최적화, 표준 포트 통합 |
| 주 사용처 | 학습, 단일 작업, 기능 테스트 | WAS 인프라가 갖춰진 내부 운영 환경 | 실제 서비스 배포, 대규모 운영 환경 |
🎯 방식별 핵심 차이 (What's Different)
1. 포트와 접근성 (Port & Accessibility)
가장 큰 차이는 사용자에게 노출되는 포트입니다.
- 1번 & 2번: GeoServer가 비표준 포트(8090/8080)를 사용하므로, 클라이언트 측에서 CORS 오류가 발생하기 쉽고, 주소에 포트 번호를 포함해야 합니다.
- 3번: Apache가 표준 포트(80)로 모든 요청을 받아 내부적으로 포트 8080으로 전달합니다. 사용자에게는 표준 포트만 노출되어 깔끔하고, CORS 문제를 근본적으로 해결합니다.
2. 역할 분리 (Separation of Concerns)
- 1번 & 2번: GeoServer 또는 Tomcat이 클라이언트 통신과 데이터 처리를 모두 담당합니다.
- 3번: 역할이 분리됩니다.
- Apache는 클라이언트 통신, 보안(SSL), 정적 파일 전송, 로드 밸런싱 등 프론트엔드 역할을 전담합니다.
- Tomcat/GeoServer는 순수하게 데이터 요청 처리, WMS/WFS 생성 등 백엔드 역할에만 집중하여 성능을 높입니다.
3. 유연성 및 안정성 (Flexibility & Stability)
- 1번: 내장 서버는 유연성이 낮아 대규모 트래픽 처리나 추가적인 보안 설정에 한계가 있습니다.
- 2번: Tomcat이라는 전문적인 WAS를 사용하므로 1번보다 안정성이 높고, 다른 웹 앱과 통합 관리가 용이합니다.
- 3번: 서버를 2개로 분리함으로써 최고의 안정성과 확장성을 확보합니다. Apache만 교체하여 서버 환경을 바꿀 수도 있고, GeoServer 인스턴스를 여러 개 붙여 처리량을 늘릴 수 있습니다.