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が動作していません
  • tomcat は実行されていますが、ポート 8009 のコネクタが設定されていません
  • tomcat は実行されていますが、apache と tomcat 間のファイアウォールがポート 8009 のトラフィックを許可していません (この状況ではそうではないはずです)
  • tomcat は実行されていますが、この IP をリッスンしていません

答え2

今週、新規インストールでまったく同じ問題が発生しました。Tomcat 5.5 インストールからファイルごとにすべてをコピーしましたが、これはまったく予想どおりに動作していたため、これは本当に不可解な状況でした。

そこで TCPView を実行したところ、AJP が TCP のポート 8009 にバインドされていないことがわかりました (ただし、TCPv6 ではバインドされていました。何ですって...)

Tomcat のそれ以降のバージョン、または isapi_redirect.dll または Tomcat5w.exe (Tomcat サービス) は「TCPv6 対応」であるようで、そこから問題が始まります。

良いニュースとしては、server.xml の「address」プロパティを IPv4 アドレスに設定できることです。例:

<Connector address="192.168.1.109" port="8080" ...ウェブサービス用

<Connector address="192.168.1.109" port="8009" ... ajp/1.3 コネクタ用

注意: アドレスを何に設定する場合でも、worker.properties ファイルの設定が同じであることを確認してください。例:

worker.ajp13w.host=192.168.1.109

...どうやらこれで全部のようです。

関連情報