現象
Service Pack 2 または Windows Essential Business Server 2008 で Microsoft Internet Security and Acceleration (ISA) Server 2004 を実行しているサーバーでは、次の 2 つの Web フィルターを無効にします。
-
圧縮フィルター
-
圧縮コンテンツ フィルターのキャッシュ
これを行った後、ISA Server 2004 または Windows Essential Business Server 2008 は、転送プロキシを使用するときにAccept-Encoding HTTP ヘッダーを含む要求をブロックします。
これらの Web フィルターは、ISA Server 2004 Service Pack 2 または Windows Essential Business Server 2008 で導入されました。 一部の Web サーバーに関連するプログラム互換性の問題が原因で、これらの Web フィルターを無効にすることがあります。
解決方法
Service Pack の情報
この問題を解決するには、ISA Server 2004 Service Pack 3 (SP3) をインストールし、このセクションで説明されている Microsoft Visual Basic スクリプトを実行します。
Service Pack をインストールした後、次のスクリプトを実行して、新しい構成パラメーターを有効にします。 この新しいパラメーターを使用すると、転送プロキシ シナリオで圧縮フィルターが無効になっている場合に、Accept-Encoding HTTP ヘッダーを含む ISA Server 転送要求が許可されます。 これを行うには、次の手順を実行します。
Microsoft では、明示または黙示を問わず、保証なしで、図のみのプログラミング例を提供しています。 これには、特定の目的に対する商品性または適合性に関する黙示の保証が含まれますが、これに限定されません。 この記事では、デモンストレーションされているプログラミング言語と、プロシージャの作成とデバッグに使用されるツールについて理解していることを前提としています。 Microsoft サポート エンジニアは、特定の手順の機能の説明に役立ちます。 ただし、これらの例を変更して、特定の要件を満たすために追加の機能を提供したり、プロシージャを構築したりしません。
-
[ スタート] をクリックし、[ すべてのプログラム] をポイントし、[ アクセサリ] をポイントして、[ メモ帳] をクリックします。
-
メモ帳ドキュメントに次のコードを貼り付けます。
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}" Const SE_VPS_NAME = "AccessRuleSendAcceptEncodingHeader" Const SE_VPS_VALUE = true Sub SetValue() ' Create the root obect. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and 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 If End Sub Sub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End If End Sub SetValue
-
メモ帳ファイルを "AccessRuleSendAcceptEncodingHeader.vbs" として保存します。
-
.vbs ファイルをダブルクリックしてスクリプトを実行します。
新しい構成パラメーターを無効にするには、次の手順に従います。
-
[ スタート] をクリックし、[ すべてのプログラム] をポイントし、[ アクセサリ] をポイントして、[ メモ帳] をクリックします。
-
メモ帳ドキュメントに次のコードを貼り付けます。
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}" Const SE_VPS_NAME = "AccessRuleSendAcceptEncodingHeader" Const SE_VPS_VALUE = false Sub SetValue() ' Create the root obect. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object 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 If End Sub Sub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End If End Sub SetValue
-
メモ帳ファイルを "Disable_AccessRuleSendAcceptEncodingHeader.vbs" として保存します。
-
.vbs ファイルをダブルクリックしてスクリプトを実行します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。