아파치-톰캣 연동시, ajp 타임아웃 발생시 체크사항

Yeeees, I can!·2022년 9월 13일
0

아파치와 톰캣을 연동할때, connector 설치 후 실제 페이지 호출시
반응이 없고 timeout이 발생하는 경우가 있습니다.
그럴경우, 다음 체크사항을 확인해봐야 합니다.

1.ajp포트가 활성화 되어있는지!

tomcat 압축해제 후 server.xml을 보면, 기본적으로 ajp포트가 주석처리 되어있습니다.
또한, 주석해제시 address주소가 ipv6으로 되어있으니, 각 서버에 맞게 address를 127.0.0.1 또는 0.0.0.0으로 변경해야 합니다.

    <!--
    <Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="8443" />
    -->

2.ajp설정값에 secret설정이 disable 또는 secret값이 들어가있는지 확인해야 합니다.

  • ajp기본 설정값은 1번을 참고
    secret disable옵션은 "secretRequired="false" 입니다.
    위 옵션을 넣어주시면 됩니다.
    <Connector protocol="AJP/1.3"
               address="127.0.0.1"
               port="8009"
               secretRequired="false"
               redirectPort="8443" />

3.secret을 사용하는 경우

비밀키 설정을 통해 ajp로 연결하는 경우엔 secret = "secret!!" 처럼 키값을 지정해줍니다.

    <Connector protocol="AJP/1.3"
               address="127.0.0.1"
               port="8009"
               secret="secret!!"
               redirectPort="8443" />

그 뒤, apache worker.properties 에 설정된 worker값에 secret을 명시해야합니다.
secret설정 후 worker에 설정하지 않으면 실제 커넥시
"AJP13 protocol: Reuse is set to false" 메시지가 발생합니다.

▶worker.node1.secret=secret!! ## secret에 대한 설정값을 넣어야 합니다.

※ worker명은 각 서버에 설정된 값에 따라 다릅니다.

※ AJP 취약점에 대한 내용
▶참고
https://blog.alyac.co.kr/2772
https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35292

이상 ajp연결 불가할 경우, 몇가지 조치사항에 대해 알아보았습니다.
이외에도 다른 이유가 있을 수 있습니다.
본 문은 참고만 해주시기 바랍니다.

profile
그동안 경험 및 공부하면서 얻은 지식을 써놓은 블로그입니다~

0개의 댓글