web-dev-qa-db-ja.com

TomcatがApacheに応答しなくなる

ApacheとTomcatをmod_proxy_ajpに接続することに関する問題を解決しようとしています。私の場合、TomcatはApacheへの応答を停止し、Apacheログは次のようなログエラーメッセージを出力します。

[Mon May 06 15:22:47 2013] [error] ajp_read_header: ajp_ilink_receive failed
[Mon May 06 15:22:47 2013] [error] (120006)APR does not understand this error code: proxy: read response failed from [::1]:18009 (localhost)

何も思いつきません。誰でも私を助けることができますか?

12
sezina

これを試して :

  1. スレッド数を増やしてみてください。 (エラーは延期されます)
  2. Tomcat構成では、APRではなく"org.Apache.coyote.ajp.AjpProtocol"を試してください。
3
Vaibhav Jain

/etc/Tomcat7/server.xmlにあるAJPコネクタにconnectionTimeoutとkeepAliveTimeoutを追加します。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" 
           connectionTimeout="10000" keepAliveTimeout="10000" />

https://Tomcat.Apache.org/Tomcat-7.0-doc/config/ajp.html のAJPコネクタに関する情報

  • connectionTimeout =このコネクターが接続を受け入れた後、要求URI行が表示されるまで待機するミリ秒数。 AJPプロトコルコネクタのデフォルト値は-1(つまり、無限)です。

  • keepAliveTimeout =接続を閉じる前にこのコネクターが別のAJP要求を待機するミリ秒数。デフォルト値は、connectionTimeout属性に設定されている値を使用することです。

ConnectionTimeoutとkeepAliveTimeoutの値が定義されていない場合、AJP接続は無期限に維持されます。多くのスレッドが発生するため、デフォルトの最大スレッド数は200です。

Lambda Probeから分岐したApache Tomcatの高度なマネージャーおよびモニターであるpsi-probeをインストールすることをお勧めします。 https://code.google.com/p/psi-probe/

10
paalfe

問題とその解決方法の非常に良い説明は http://javaworkbench.blogspot.co.at/2013/09/Apache-web-server-Tomcat-ajp.html にあります。 。

つまり、Apache「MaxClients」をTomcat AJP「maxConnections」構成と等しくなるように構成します。 -Tomcat AJPの「keepAliveTimeout」を設定して、一定の非アクティブ期間が経過した後に接続を閉じます。

5

Apache 2.2およびCentosでTomcat 8を使用していますが、次のような問題が見つかりました。

[error] ajp_read_header: ajp_ilink_receive failed
[error] (70007)The timeout specified has expired: proxy: read response failed

私が適用したソリューションは完璧に機能しました:

1. Configure Apache 'MaxClients' to be equal to the Tomcat AJP 'maxConnections' configuration.
2. Configure Tomcat AJP 'keepAliveTimeout' to close connections after a period of inactivity.

Tomcat server.xmlの例を次に示します。

<Connector port="8009" protocol="AJP/1.3" maxConnections="256" keepAliveTimeout="30000" redirectPort="8443" />

このソリューションが気に入ったら、回答に投票してください。乾杯

3
Aqeel