ISA Server 2004, ISA Server 2006 of Windows Essential Business Server 2008 blokkeert aanvragen met de HTTP-koptekst voor geaccepteerde codering wanneer een doorstuur proxy wordt gebruikt


Symptomen


Op een server waarop Microsoft Internet Security and Acceleration (ISA) Server 2004 met Service Pack 2 of Windows Essential Business Server 2008 wordt uitgevoerd, schakelt u de volgende twee webfiltering uit:
  • Compressie filter
  • Cache voor gecomprimeerd inhouds filter
Nadat u dit hebt gedaan, blokkeert ISA Server 2004 of Windows Essential Business Server 2008 verzoeken met de HTTP-koptekst voor geaccepteerde codering wanneer er een doorstuur proxy wordt gebruikt. Deze webonderdelen zijn geïntroduceerd in ISA Server 2004 Service Pack 2 of in Windows Essential Business Server 2008. Mogelijk schakelt u deze webfiltering uit vanwege compatibiliteitsproblemen met toepassingen die betrekking hebben op sommige webservers.

Oplossing


Informatie over service packs

U kunt dit probleem oplossen door ISA Server 2004 Service Pack 3 (SP3) te installeren en vervolgens het Microsoft Visual Basic-script uit te voeren dat in deze sectie wordt vermeld. Als u meer informatie wilt over het verkrijgen van het nieuwste Service Pack voor ISA Server 2004, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
891024 Het nieuwste Service Pack voor ISA Server 2004 verkrijgen
Nadat u het Service Pack hebt geïnstalleerd, voert u het volgende script uit om een nieuwe configuratieparameter in te schakelen. Met deze nieuwe parameter kunnen ISA server-aanvragen worden doorgestuurd die de HTTP-header voor geaccepteerde codering bevatten als de compressie filters zijn uitgeschakeld in een scenario voor voorwaartse proxy. Voer de volgende stappen uit om dit te doen. Microsoft biedt programmeervoorbeelden voor slechts één afbeelding, zonder garanties die geheel of impliciet zijn aangegeven. Dit geldt ook voor maar niet beperkt tot de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal die wordt aangetoond en met de hulpmiddelen voor het maken en gebruiken van debug-procedures. Microsoft ondersteuningstechnici kunnen u helpen de functionaliteit van een bepaalde procedure te uitleggen. Ze wijzigen deze voorbeelden echter niet voor het toevoegen van functies of het maken van procedures voor het maken van aan uw specifieke eisen.
  1. Klik op Start, wijs achtereenvolgens alle Programma's, Bureau-accessoiresen vervolgens op Kladblok.
  2. Plak de volgende code in het Kladblok-document.
    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. Sla het Notepad-bestand op als ' AccessRuleSendAcceptEncodingHeader. vbs '.
  4. Dubbelklik op het. vbs-bestand om het script uit te voeren.
Voer de volgende stappen uit om de nieuwe configuratieparameter uit te schakelen:
  1. Klik op Start, wijs achtereenvolgens alle Programma's, Bureau-accessoiresen vervolgens op Kladblok.
  2. Plak de volgende code in het Kladblok-document.
    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. Sla het Kladblok-bestand op als ' Disable_AccessRuleSendAcceptEncodingHeader. vbs '.
  4. Dubbelklik op het. vbs-bestand om het script uit te voeren.

Status


Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.