Apache/Tomcat mod_jk 오류 메시지 61

Apache/Tomcat mod_jk 오류 메시지 61

mod_jk.log 파일에 다음 오류 메시지와 함께 스팸이 표시됩니다. jk_connect.c (593): connect to 127.0.0.1:8009 failed (errno=61)

Tomcat이 제대로 실행되고 있고 Apache와 Tomcat 사이에 구성된 방화벽이 없으며(둘 다 동일한 시스템에서 실행 중임) 8009에 리스너가 있습니다. 커넥터는 스팸을 보내기 시작하기 전에 한 번에 며칠 동안 제대로 실행됩니다. 모든 새로운 연결에 대해 위 메시지가 포함된 로그 파일을 생성합니다.

스팸이 시작되면 스팸을 복구할 수 있는 유일한 방법은 먼저 Tomcat을 다시 시작한 다음 Apache를 다시 시작하는 것입니다.

이런 종류의 문제에 대한 가장 가능성 있는 원인은 무엇입니까?

답변1

여기에는 여러 가지 이유가 있을 수 있습니다.

  • 톰캣이 실행되고 있지 않습니다
  • Tomcat이 실행 중이지만 포트 8009에 대한 커넥터가 구성되어 있지 않습니다.
  • Tomcat이 실행 중이지만 Apache와 Tomcat 사이의 방화벽이 포트 8009의 트래픽을 허용하지 않습니다(현재 상황에서는 허용되지 않음).
  • Tomcat이 실행 중이지만 이 IP를 수신하지 않습니다.

답변2

이번 주에 새로 설치하면서 똑같은 문제가 발생했습니다. 예상대로 정확하게 작동하는 Tomcat 5.5 설치에서 파일 단위로 모든 것을 복사했기 때문에 이것은 정말 혼란스러운 상황이었습니다.

그래서 TCPView를 실행했더니 AJP가 TCP용 포트 8009에 바인딩되어 있지 않다는 것을 알 수 있었습니다(그러나 TCPv6용이었습니다! wth...).

Tomcat의 최신 버전, isapi_redirect.dll 또는 Tomcat5w.exe(Tomcat 서비스)가 "TCPv6 인식"인 것으로 보이며 여기서 문제가 시작됩니다.

좋은 소식은 server.xml의 "주소" 속성을 IPv4 주소로 설정할 수 있다는 것입니다. 예:

<Connector address="192.168.1.109" port="8080" ... 귀하의 웹 서비스 및

<Connector address="192.168.1.109" port="8009" ... ajp/1.3 커넥터용

주소를 무엇으로 설정하든지 작업자.properties 파일의 설정이 동일한지 확인하십시오. 예:

worker.ajp13w.host=192.168.1.109

...그리고 그게 전부인 것 같습니다.

관련 정보