web-dev-qa-db-ja.com

mod_proxy_ajp接続のタイムアウトの増加

Apache(2.2.3)がmod_proxy_ajpを介してTomcat 6.somethingと通信しています。

途方もなく長い存続期間のリクエスト(2〜6分)があり、どこかでデフォルトのタイムアウトに達していると思います...それを上げる適切な場所はどこですか?

ここに私のプロキシの定義があります:

<Location /blah>
  ProxyPass ajp://localhost:8010/blah
  ProxyPassReverse ajp://localhost:8010/blah
</Location>
7
danb

これを試したとは言えませんが、質問に興味があったので、少しググってみました this


ProxyTimeoutディレクティブ

このディレクティブを使用すると、ユーザーはプロキシー要求のタイムアウトを指定できます。これは、遅い/バギーなappserverがハングしていて、サーバーが戻るのにどれだけ時間がかかるかを待つのではなく、タイムアウトを返して正常に失敗する場合に便利です。


デフォルト値はTimeoutディレクティブの値であり、デフォルトは300秒です。したがって、ProxyTimeoutを増やして、効果があるかどうかを確認してください。

追伸Tomcatにも独自のタイムアウトがある可能性があることに注意してください。 このドキュメント には、もう少し情報があります(ただし、これらの設定に関する個人的な経験はありません)。

12
Matt Solnit

グローバルではなくajpプロキシのみのタイムアウトを変更する場合は、次のように「timeout」パラメーターを追加できます。

<Location /blah>
  ProxyPass ajp://localhost:8010/blah timeout=600
  ProxyPassReverse ajp://localhost:8010/blah
</Location>
7
AndrewR