2012-01-23 8 views
0

私の会社は、顧客構成をモデルにした2台のテストサーバーで、Windows Server 2003のSP2とIIS 6は接続を閉じます - それを永続的に保つ方法?

  • 1、6 IISとTomcat 5.5は、Windows Server 2008 R2で
  • 1、6
  • を7 IISとTomcatを持っています

両方のIISがWindows認証を使用するように構成されており、Tomcat用のISAPIフィルタがあります。

IIS 6マシンでは、サーバーは「Connection:close」というヘッダーを送信することによって、認証されたすべてのHTTP接続を閉じます。 IIS 7マシンでは、サーバーは永続的な接続を使用し、ヘッダー "Persistent-Auth:true"を送信します。 IIS 6を使用しているお客様は、NTLM認証によるネットワークラウンドトリップ回数を3倍にするテストサーバーと同じ接続閉鎖動作を行います。

IIS 6サーバーが接続を閉じているのはなぜですか。永続的な接続を使用するにはどうすればよいですか。

私は両方のサーバーにRDP管理者アクセス権を持っており、有益な情報を提供して実験を行います。

UPDATE:

私はこの問題を部分的にISAPIフィルタ(isapi_redirect.dllを)の古いバージョンによって引き起こされることを見出しました。このフィルタを1.2.32に更新した後、htmlページの「Connection:close」ヘッダが取得されなくなりました。しかし、クライアントアプレットがシリアル化されたJavaオブジェクトを返すサービスにアクセスするときは、まだそれを取得します。

答えて

1

この問題は認証とは関係ないことがわかりました。 Tomcatサーブレットは応答にchunked transfer encodingを使用し、ISAPIフィルタはそれを処理するように構成されていませんでした。これにより、IIS 6は接続を閉じるように見えます。 IIS 7は応答チャンクを収集し、応答がない、チャンクされていない応答を呼び出し元に送信します。

reference guideで説明されているように、バージョン1.2.32にアップグレードし、ISAPIフィルタのenable_chunked_encodingプロパティを使用してチャンクエンコードを有効にすると、接続は終了しなくなりました。

関連する問題