ISA Server 2004, ISA Server 2006 o Windows Essential Business Server 2008 blocca le richieste che includono l'intestazione HTTP Accept-Encoding quando viene usato un proxy forward

Sintomi

In un server che sta eseguendo Microsoft Internet Security and Acceleration (ISA) Server 2004 con Service Pack 2 o Windows Essential Business Server 2008, è possibile disabilitare i due filtri Web seguenti:

  • Filtro di compressione

  • Memorizzazione nella cache del filtro contenuto compresso

Dopo aver eseguito 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 forward. Questi filtri Web sono stati introdotti in ISA Server 2004 Service Pack 2 o in Windows Essential Business Server 2008. Questi filtri Web potrebbero essere disabilitati 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 menzionato in questa sezione. Per altre informazioni su come ottenere il Service Pack più recente di ISA Server 2004, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:

891024 Come ottenere l'ultimo Service Pack di ISA Server 2004Dopo 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 forward proxy. Per eseguire questa operazione, eseguire la procedura seguente. Microsoft fornisce esempi di programmazione solo per le illustrazioni, senza garanzia espressa o implicita. Ciò include, ma non solo, 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 dimostrato e con gli strumenti usati per creare e eseguire il debug delle procedure. Gli ingegneri del supporto tecnico Microsoft possono aiutare a spiegare la funzionalità di una determinata procedura. Tuttavia, questi esempi non verranno modificati per ottenere funzionalità aggiunte o creare procedure per soddisfare i requisiti specifici.

  1. Fare clic sul pulsante Start, scegliere tutti i programmi, Accessorie quindi fare clic su blocco note.

  2. 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 = trueSub 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 IfEnd SubSub CheckError()    If Err.Number <> 0 Then        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description        Err.Clear    End IfEnd SubSetValue
  3. Salvare il file del blocco note come "AccessRuleSendAcceptEncodingHeader. vbs".

  4. Fare doppio clic sul file vbs per eseguire lo script.

Per disabilitare il nuovo parametro di configurazione, eseguire le operazioni seguenti:

  1. Fare clic sul pulsante Start, scegliere tutti i programmi, Accessorie quindi fare clic su blocco note.

  2. 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
  3. Salvare il file del blocco note come "Disable_AccessRuleSendAcceptEncodingHeader. vbs".

  4. 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".

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×