Sintomi
In un server che esegue Microsoft Internet Security and Acceleration (ISA) Server 2004 con Service Pack 2 o Windows Essential Business Server 2008 si disabilitano i due filtri Web seguenti:
-
Filtro compressione
-
Memorizzazione nella cache del filtro contenuto compresso
Dopo questa operazione, ISA Server 2004 o Windows Essential Business Server 2008 blocca le richieste che includono l'intestazione HTTP Accept-Encoding quando viene usato un proxy di inoltro.
Questi filtri Web sono stati introdotti in ISA Server 2004 Service Pack 2 o in Windows Essential Business Server 2008. È possibile disabilitare questi filtri Web a causa di problemi di compatibilità dei programmi che coinvolgono alcuni server Web.Risoluzione
Informazioni sui Service Pack
Per risolvere il problema, installare ISA Server 2004 Service Pack 3 (SP3) e quindi eseguire lo script Microsoft Visual Basic descritto in questa sezione.
Dopo aver installato il Service Pack, eseguire lo script seguente per abilitare un nuovo parametro di configurazione. Questo nuovo parametro consente alle richieste di inoltro di ISA Server che includono l'intestazione HTTP Accept-Encoding se i filtri di compressione sono disabilitati in uno scenario proxy di inoltro. A tale scopo, attenersi alla seguente procedura. Microsoft fornisce esempi di programmazione solo per illustrazioni, senza garanzie espresse o implicite. Sono incluse, a titolo esemplifiche, le garanzie implicite di commerciabilità o idoneità per uno scopo specifico. In questo articolo si presuppone che si abbia familiarità con il linguaggio di programmazione che viene illustrato e con gli strumenti usati per creare ed eseguire il debug delle routine. I tecnici del supporto Microsoft possono spiegare le funzionalità di una particolare procedura. Tuttavia, non modificheranno questi esempi per fornire funzionalità aggiunte o creare procedure per soddisfare i requisiti specifici.-
Fare clic su Start, scegliere Tutti i programmi, Accessori e quindi fare clic su Blocco note.
-
Incollare il codice seguente nel documento del Blocco note.
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
-
Salvare il file del Blocco note come "AccessRuleSendAcceptEncodingHeader.vbs".
-
Fare doppio clic sul file VBS per eseguire lo script.
Per disabilitare il nuovo parametro di configurazione, seguire questa procedura:
-
Fare clic su Start, scegliere Tutti i programmi, Accessori e quindi fare clic su Blocco note.
-
Incollare il codice seguente nel documento del Blocco note.
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
-
Salvare il file del Blocco note come "Disable_AccessRuleSendAcceptEncodingHeader.vbs".
-
Fare doppio clic sul file VBS per eseguire lo script.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".