mod_jk
🔌 mod_jk란?
정의
mod_jk는 Apache HTTP Server와 Tomcat을 AJP 프로토콜로 연결해 주는 커넥터 모듈이다. Apache가 받은 요청 중 일부를 Tomcat으로 전달할 때 사용한다.
🎯 사용하는 이유
- 정적 파일은 Apache가 처리하고, 동적 요청은 Tomcat으로 넘길 수 있다.
- Apache와 Tomcat을 분리해 운영할 수 있다.
- 다중 Tomcat 구성에서 요청 분배를 할 수 있다.
- 기존 Apache 기반 운영 환경과 잘 맞는다.
포인트
mod_jk는 단순 프록시가 아니라 Apache와 Tomcat 사이를 연결하는 전용 커넥터다.
🧱 역할
- Apache에서 들어온 요청을 Tomcat으로 전달한다.
- AJP를 사용해 통신한다.
- 정적/동적 요청 분리를 도와준다.
- 여러 Tomcat 인스턴스에 요청을 분산할 수 있다.
🔄 동작 흐름
- 클라이언트가 Apache에 요청한다.
- Apache가 정적 자원은 직접 응답한다.
- 동적 요청은
mod_jk를 통해 Tomcat으로 전달한다. - Tomcat이 요청을 처리하고 응답을 돌려준다.
- Apache가 클라이언트에게 최종 응답한다.
🛠️ 설정 관점
worker.properties또는 관련 설정 파일에서 Tomcat 워커를 정의한다.- Apache 설정에서 요청 경로와 Tomcat 워커를 매핑한다.
- AJP 포트가 열려 있어야 한다.
[!important] 주의 AJP는 외부에 그대로 노출하면 위험할 수 있다. 사용하지 않는 경우에는 비활성화하거나 접근 범위를 반드시 제한해야 한다.
✅ 장점
- 정적/동적 처리 분리가 명확하다.
- Apache의 기능과 Tomcat의 기능을 함께 활용할 수 있다.
- 다중 Tomcat 구성에 비교적 잘 맞는다.
❌ 단점
- 설정이 다소 복잡하다.
- AJP 설정과 보안에 주의해야 한다.
- 최신 환경에서는 리버스 프록시 기반 구성이 더 많이 사용될 수 있다.
🧩 함께 보면 좋은 개념
- AJP
- ApacheAndTomcat
- Tomcat
🧾 정리
mod_jk는 Apache와 Tomcat을 연결하는 전통적인 커넥터다.
정적 자원은 Apache가, 동적 요청은 Tomcat이 처리하는 구조를 만들 때 유용하다.
댓글남기기