Problembeschreibung
Auf einem Server, auf dem Microsoft ISA Server 2004 (Internet Security and Acceleration) mit Service Pack 2 oder Windows Essential Business Server 2008 ausgeführt wird, deaktivieren Sie die folgenden beiden Webfilter:
-
Komprimierungsfilter
-
Zwischenspeichern komprimierter Inhaltsfilter
Anschließend blockiert ISA Server 2004 oder Windows Essential Business Server 2008 Anforderungen, die den Accept-Encoding HTTP-Header enthalten, wenn ein Vorwärtsproxy verwendet wird.
Diese Webfilter wurden in ISA Server 2004 Service Pack 2 oder Windows Essential Business Server 2008 eingeführt. Sie können diese Webfilter aufgrund von Programmkompatibilitätsproblemen deaktivieren, die einige Webserver betreffen.Lösung
Service Pack-Informationen
Um dieses Problem zu beheben, installieren Sie ISA Server 2004 Service Pack 3 (SP3), und führen Sie dann das in diesem Abschnitt erwähnte Microsoft Visual Basic-Skript aus.
Führen Sie nach der Installation des Service Packs das folgende Skript aus, um einen neuen Konfigurationsparameter zu aktivieren. Mit diesem neuen Parameter kann ISA Server Anforderungen weiterleiten, die den Accept-Encoding HTTP-Header enthalten, wenn die Komprimierungsfilter in einem Vorwärtsproxyszenario deaktiviert sind. Gehen Sie hierzu wie folgt vor. Microsoft stellt Programmierbeispiele nur zur Veranschaulichung bereit, ohne ausdrückliche oder implizite Garantie. Dies umfasst, ist aber nicht beschränkt auf die impliziten Gewährleistungen der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der Programmiersprache, die veranschaulicht wird, und mit den Tools vertraut sind, die zum Erstellen und Debuggen von Prozeduren verwendet werden. Microsoft-Supporttechniker können ihnen helfen, die Funktionalität eines bestimmten Verfahrens zu erläutern. Diese Beispiele werden jedoch nicht geändert, um zusätzliche Funktionen bereitzustellen oder Prozeduren zu erstellen, die Ihren spezifischen Anforderungen entsprechen.-
Klicken Sie auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf Zubehör, und klicken Sie dann auf Editor.
-
Fügen Sie den folgenden Code in das Editor-Dokument ein.
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
-
Speichern Sie die Editor-Datei als "AccessRuleSendAcceptEncodingHeader.vbs".
-
Doppelklicken Sie auf die VBS-Datei, um das Skript auszuführen.
Führen Sie die folgenden Schritte aus, um den neuen Konfigurationsparameter zu deaktivieren:
-
Klicken Sie auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf Zubehör, und klicken Sie dann auf Editor.
-
Fügen Sie den folgenden Code in das Editor-Dokument ein.
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
-
Speichern Sie die Editor-Datei als "Disable_AccessRuleSendAcceptEncodingHeader.vbs".
-
Doppelklicken Sie auf die VBS-Datei, um das Skript auszuführen.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.