반응형
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 모듈 세트가 함께 제공)
참고
- https://wiki.logicaldoc.com/wiki/Configure_Apache_load_balancer_with_mod_proxy_ajp
- https://httpd.apache.org/docs/2.4/mod/mod_proxy_balancer.html
- https://stackoverflow.com/questions/9393163/apache-tomcat-problems-with-sticky-sessions-and-load-balancing
- https://tomcat.apache.org/connectors-doc/index.html
반응형
'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 |