아파치와 톰캣을 연동할때, 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연결 불가할 경우, 몇가지 조치사항에 대해 알아보았습니다.
이외에도 다른 이유가 있을 수 있습니다.
본 문은 참고만 해주시기 바랍니다.