現象
次のような状況で問題が発生します。
-
Web サイトにアクセスするための Web プロキシとして、Microsoft インターネット セキュリティとアクセラレータ (ISA) Server 2004 または ISA Server 2006 を使用します。
-
Web サイトで POST 操作を実行するとします。
-
Web サイトは、クライアントに "401 認証が必要です" という応答を送信します。
ただし、ISA Server は、応答をクライアントに転送する代わりに、"401 認証が必要です" 応答を削除します。この問題により、Web アクセスの試行が失敗する可能性があります。たとえば、Web サイトに大きなファイルをアップロードしようとすると、アップロード操作がタイムアウトすることがあります。
解決方法
この問題を解決するには、次の手順を実行します。
-
ISA Server 2004 を実行している場合は、次のマイクロソフト サポート技術情報資料に記載されている修正プログラム パッケージを適用します。
940709 ISA Server 2004 修正プログラム パッケージの説明: 2007 年 7 月 25 日ISA Server 2006 を実行している場合は、最後の ISA Server サービス パックを適用します。詳細については、次のサポート技術情報番号をクリックしてください。
954258最新のインターネット セキュリティとアクセラレータ (ISA) Server 2006 サービス パックを入手する方法
-
メモ帳を起動します。
-
次のコードをコピーし、メモ帳に貼り付けます。
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "AllowPrematureServerResponse"Const SE_VPS_VALUE = trueSub SetValue() ' Create the root object. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects that are needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and to the network rules collection. Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID ) If Err.Number <> 0 Then Err.Clear ' Add the item. Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo "New VendorSet added... " & VendorSet.Name Else WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME) End If if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError If Err.Number = 0 Then WScript.Echo "Done with " & SE_VPS_NAME & ", saved!" End If End If Else WScript.Echo "Done with " & SE_VPS_NAME & ", no change!" End IfEnd SubSub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End IfEnd SubSetValue
-
.vbs ファイル名拡張子を使用して、ファイルを Visual Basic スクリプト ファイルとして保存します。たとえば、次の名前を使用してファイルを保存します。
AllowPrematureServerResponse.vbs
-
コマンド プロンプトを起動し、Allow途中のサーバー応答.vbs ファイルを保存した場所に移動し、次のコマンドを実行します。
cscript Allow途中サーバー応答.vbs
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細情報
ISA Server の修正プログラムおよび更新プログラムをインストールする方法の詳細については、次のサポート技術情報番号をクリックしてください。
885957 ISA Server の修正プログラムおよび更新プログラムをインストールする方法