IE9とApache SSL nokeepalive設定


8

現在、私は自分のphpアプリケーション(5.3.7で実行されているphp)にApache 2.2.3およびCentOS 5.4を使用しており、アプリケーションはHTTPSおよびルートCA証明書で実行されています。

問題は、IE9でいくつかの奇妙な問題が発生していることです(IE9のみ)。IE9ブラウザーがHTTPS要求をサーバーに送信すると、HTTPS応答がない場合があります。私が気付いたことは、IE9がページを更新することです。具体的には、上記のページはログインページです。したがって、ユーザー名とパスワードを入力してフォームを送信すると、応答がなく、IE9は同じログインページを再度リロードするように見えます。(ユーザー名とパスワードが空白)

アプリケーションレベルからトレースすると、ユーザー名とパスワードを受け取り、アプリケーションはエラーなしで終了しました。

主な問題は、それを毎回再現することができないことです。問題なくログインできる場合もありますが、上記の問題が発生する場合もあります。

現在、当社にはネットワークチーム、開発者、その他のチームがいます。私たちのapacheはロードバランサーの下で実行されています。ネットワーク関係者は、設定を決して変更しないと主張し、唯一の変更はアプリケーションです。しかし、開発者の観点から見ると、変更はログインプロセスとは何の関係もありません。

私の観点からは、ユーザーが[送信]をクリックすると、アプリケーション(Apache)がHTML(HTTPS応答)を送信することで実行するように見えますが、HTMLは奇跡的にネットワークから消えてしまいました。接続のキープアライブと関係があると思いますか?おそらくIE9ブラウザエージェントはそれを別の方法で処理し、どういうわけかそれは接続が失敗したと見なし、再試行のためにページをリロードしますか?

しかしとにかく、私はSSL接続のためのApacheの次の設定に気づきました。

SetEnvIf User-Agent " 。MSIE " \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0

IE9以上を除外するようにセットアップする方法がわからない場合は、検索を実行すると、上記の設定はIEがApacheに接続しているときの長期にわたる問題を修正するためのものです。しかし、IE9はまったく新しいものなので、おそらく問題はすでに修正されており、設定を更新する必要がありますか?

うまくいけば、誰かがこれにいくつかの光を当てることができます。



blogs.msdn.com/b/ieinternals/archive/2011/03/26/…このリンクが見つかり、BrowserMatch "。* MSIE [2-5] \ .. *" \ nokeepalive ssl-uncleanに変更を加えるよう提案されました-shutdown \ downgrade-1.0 force-response-1.0ですが、テストするには時間がかかります。一方、必ず誰かがまた、同様の問題を経験し、そして、彼らはそれを解決するために何をすべきかではない場合...
forestclown

キープアライブが関連していると思われる理由は何ですか?ネットワークトラフィックのキャプチャを実行して確認できますか?
シェーン・マッデン

それが唯一のIE9で発生し、現在はApacheの設定に関するので、ちょうど野生の推測であることで、具体的IEに何かを私が気づいただけでセットアップ...
forestclown

これを解決したことがありますか?解決策は何でしたか?

回答:


3

ほとんどの場合、サーバー/ネットワークの設定に問題があり、IE9の癖によるものではありません。

まず、古代のIE6より前の設定を削除します。SetEnvIf User-Agent ".MSIE." \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0それをまったく実行しないでください(任意の形式)。IE5をサポートする必要がある場合を除き、正規表現を次のように変更するのが正しいでしょう。MSIE [2-5]

ロードバランサーとキープアライブがないことが問題である可能性があります。私はロードバランサーに非常に疑いを持ち、最初に何が起こっているのかを正確にチェックします。

ロードバランサーは通常、2つ以上のIPアドレス間で「負荷を分散」します(この時点では、内部または外部は問題ではありません)。

次に、要求間の接続にキープアライブがないため、クライアントコンピュータ/ブラウザはすべての要求に対してSSLネゴシエーションを実行する必要があります。これを低速および低タイムアウト設定と組み合わせると、SSL証明書の不一致の問題が発生する可能性があり、厳密なセキュリティ設定のためにIEがおそらく保釈されます。IE9にこの特性のみがあるかどうかは、正確には調査していません。他のブラウザーもこれを行い、別の方法で処理するのではないかと思います。

SSLを使用している場合は、キープアライブをオンにする必要があります。これにより、サイトがはるかに高速になり、SSLネゴシエーションを何度も繰り返す必要がなくなり、ロードバランサーがビジターの存続期間中に同じサーバーでセッションを維持しないため失敗します。 。

アプリケーションが内部(イントラネット上)の場合、ロードバランサーはランダムにIPアドレスをジャンプし、SSLは接続ごとに同じである必要があります。

イントラネット上にない場合も同じことが当てはまります。ネットワークの設定方法はわかりませんが、最初に確認する必要があります。ロードバランサーを無効にし、問題が存在するかどうかを確認します。確実にキープアライブを実行してください。

http://httpd.apache.org/docs/2.2/mod/core.html#keepalive

また、リバースDNS設定がまったく設定されているかどうかも確認します。ロードバランサーまたはロードバランサーの背後にあるサーバーを指しているかどうか。

接続をテストし、ヘッダーを分析します。外部がredbot.orgwebpagetest.orgなどを使用して、送信されるヘッダーを確認します。また、フィドラーのようなものを使用することができます


1
IEの場合はssl- unclean
user2299634
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.