1

Apache2インスタンスは、負荷がかかっているときにSSL要求への応答を停止するように見えることがあります。

OpenSSLを使用してApache2.2を実行しているWindowsServer2003があります。これは、Tomcat6の2つのインスタンスのバランスをとるmod_jkコネクタバージョン1.2.32で構成されています。

Apache2は、:80でリクエストを受け入れ、mod_rewriteを使用して:443にリダイレクトするように構成されています。これは正常に機能します。(これは後で重要です)

mod_jkを介してマップされたURLを定期的に呼び出す外部プロセスがあります。プロセスは、最初に要求をhttp(:80)に送信し、次にhttps(:443)にリダイレクトされるように構成されていなかったため、サーバーがダブルヒットしました。つまり、access.logには2つのリクエストが表示されます。1つは302ステータス(:80リクエストからリダイレクト)で、その後に200ステータス(:443リクエストからOK)が続きます。

最終的に、access.logは後続の「ステータス200」メッセージの表示を停止し、302(リダイレクト)のみを表示しました。ブラウザ経由でhttpsURLにアクセスすると、Apacheが応答していないことも確認されました。Monitisのアラートには、「重要-SSL接続を確立できません」と記載されています。さらに、mod_jk.logは、失敗時にリクエストの記録を停止しました。ここで重要なのは、Apacheがすべてのhttpリクエストに応答し続け、SSLリクエストが失敗している間ずっと302リダイレクトを送信したことです。

httpを介して2つのTomcatインスタンスのそれぞれに直接アクセスすることは、問題なく成功しました。

Apache2サービスを再起動すると、すぐに問題が解決し、正常に動作し始めました。

このパズルには非常に多くの可動部分があるので、犯人はわかりません。当時、SSL経由でTomcat以外のURLをテストしていませんでしたが、SSLに問題があるのではないかと疑っています。mod_jkに関連している可能性もあります。読んでくれてありがとう。

4

1 に答える 1

0

mod_ajp_proxymod_proxy_ajpを優先してmod_jkを捨てることを強くお勧めします。まったく同じことを行いますが、構成がはるかに簡単です。Tomcatプロジェクトの副産物ではなく、Apacheに組み込まれています。必要に応じて、mod_proxy_balancerと組み合わせて使用​​できます。そして、SSLを含め、本番環境で数か月間、問題なく機能してきました。

于 2012-07-15T01:16:10.377 に答える