IT

AJP

ITJOB 2021. 4. 15. 10:02

■ AJP 란?

AJP는 웹서버(Apache) 뒤에 있는 어플리케이션 서버로부터 웹서버로 들어오늘 요청을 위임할 수 있는 바이너리 프로토콜이다.

 

어플리케이션 서버로 핑을 할 수 있는 웹서버의 모니터링 기능을 지원한다.

 

웹 개발자들은 대체로 AJP를 여러 웹서버로 부터 여러개 어플리케이션 서버로의 로드 밸런스 구현에 이용한다. 세션들의 각각의 어플리케이션 서버 인스턴스의 이름을 갖는 라우팅 메카니즘을 사용하는 현재 어플리케이션 서버로 리다이렉트된다. 이 경우 어플리케이션 서버를 위한 리버스 프록시로 웹서버는 동작한다.

 

■ mod_jk 란?

아파치, 톰캣 연동을 위해 mod_jk라는 모듈을 사용하는데, 이는 AJP프로토콜을 사용하여 톰캣과 연동하기 위해 만들어진 모듈이다. mod_jk는 톰캣의 일부로 배포되지만, 아파치 웹서버에 설치하여야 한다.

 

동작방식

1. 아파치 웹서버의 httpd.conf에 톰캣 연동을 위한 설정을 추가하고 톰캣에서 처리할 요청을 지정한다.

2. 사용자의 브라우저는 아파치 웹서버(보통 포트80)에 접속해 요청한다.

3. 아파치 웹서버는 사용자의 요청이 톰캣에서 처리하도록 지정된 요청인지 확인 후, 톰캣에서 처리해야 하는 경우 아파치 웹서버는 톰캣의 AJP포트(보통 8009포트)에 접속해 요청을 전달한다.

4. 톰캣은 아파치 웹서버로부터 요청을 받아 처리한 후, 처리 결과를 아파치 웹서버에 되돌려 준다.

5. 아파치 웹서버는 톰캣으로부터 받은 처리 결과를 사용자에게 전송한다.


■ Apache와 Tomcat을 연동해야 하는 이유

아파치 내에서만 설정할 수 있는 부분이라던가 아파치에서 제공하는 유용한 모듈들을 톰캣에서 사용할 수 없기 때문