본문 바로가기
FullStack/41. WEB.WAS

Apache mod_jk vs mod_proxy 차이

by nakanara 2024. 5. 3.
반응형

 

 

Apache WebServer와 Tomcat연동을 AJP 프로토콜을 이용하여 연동이 가능하다.

그 연동 방법에는 Tomcat에서 제공하는 mod_jk 모듈을 이용하는 방법과 mod_proxy를 이용하는 방법이 있습니다.
둘 다 Tocmat과 연동은 가능하지만 일부 차이가 있어 정리를 하였습니다.

AJP 프로토콜

  • AJP(Apache Jserv Protocol)는 웹서버로 들어오는 요청을 웹서버 뒤에 있는 애플리케이션 서버로 위임할 수 있는 바이너리 프로토콜
  • Apache HTTP Server, Apahce Tomcat, 웹스피어, 웹로직, JBOSS, JEUS, 등 다양한 WAS 지원
  • AJP는 HTTP의 내용을 포워드 용도

mod_jk

  • Apache Tomcat에서 제공하는 모듈로 Tomcat과 연동에 최적화
  • mod_jk를 이용하기 위해서는 별도 컴파일 필요
  • ajp의 상세한 설정이 가능
  • 대규모 트래픽에 대응하기 위해 부하분산과 FailOver 기능
  • Apache - Tomcat 간 패킷 전송 크기가 64kb
  • 바이너리 프로토콜(mod_jk/mod_proxy_ajp)로 성능이 좋음
  • 고급 로드 밸런서
  • 고급 노드 오류 감지
# httpd.conf
<VirtualHost *:80>   
  JkMount /* node1  
  ServerName localhost
</VirtualHost>
# workers.properties
worker.list=node1 

worker.node1.port=8009
worker.node1.host=localhost
worker.node1.type=ajp13
worker.node1.lbfactor=1

mod_proxy

  • Apache WebServer에서 기본적으로 제공하는 ajp 모듈로 별도 설치할 필요 없음
  • 간단한 설정만으로 연동 가능
  • Apache - Tomcat간 패킷 전송 크기가 8kb
  • http 프로토콜(mod_proxy_http)로 mod_jk에 비해 성능이 떨어짐
  • 도메인 모델 클러스터링을 지원 불가
<VirtualHost *:80>
  ServerName localhost  
  ProxyRequests Off  
  ProxyPreserveHost On  

  ## Tomcat과 연동 ajp  
  ProxyPass /java  ajp://localhost:8009/  
  ProxyPassReverse /java  ajp://localhost:8009/
</VirtualHost>

mod_proxy_http 및 mod_proxy_ajp

  • mod_proxy는 Apache HTTP Server의 선택적 모듈, 이 모듈은 Apache용 프록시, 게이트웨이 또는 캐시를 구현
  • AJP13(Apache JServ 프로토콜 버전 1.3), FTP, CONNECT(SSL용), HTTP/0.9, HTTP/1.0 및 (Apache 1.3.23 이후) HTTP/1.1에 대한 프록시 기능을 구현
  • Apache 2.0부터 프록시 기능은 mod_proxy 외에도 mod_proxy_http, mod_proxy_ftp 및 mod_proxy_connect와 같은 여러 모듈로 나뉩니다. 또한 캐싱은 mod_cache 및 관련 모듈에서 제공
  • Apache 2.2부터 mod_proxy_ajp 및 mod_proxy_balancer 추가(Apache 2.2에는 AJP 프로토콜 및 통합 로드 밸런서와 같은 mod_jk 기능 중 일부를 포함하는 고급 mod_proxy 모듈 세트가 함께 제공)

참고

반응형

'FullStack > 41. WEB.WAS' 카테고리의 다른 글

nginx Permission denied 오류  (0) 2024.03.27
Tomcat 리소스 압축 gzip 전송  (0) 2023.06.26
Tomcat 정적 문서 캐시(Cache-Control)  (0) 2023.06.19
Tomcat으로 80 포트 서비스하기  (0) 2023.05.10
Tomcat - privileged 속성  (0) 2023.05.08