O ISA Server 2004, o ISA Server 2006 ou o Windows Essential Business Server 2008 bloqueia os pedidos que incluem o cabeçalho Accept-Encoding HTTP quando é utilizado um proxy forward

Sintomas

Num servidor que esteja a executar o Microsoft Internet Security e Acceleration (ISA) Server 2004 com Service Pack 2 ou o Windows Essential Business Server 2008, desactive os dois filtros Web:

  • Filtro de compressão

  • A colocação em cache de filtro de conteúdo comprimido

Depois de efectuar este procedimento, o ISA Server 2004 ou Windows Essential Business Server 2008 bloqueia os pedidos que incluem o cabeçalho Accept-Encoding HTTP quando é utilizado um proxy directa. Estes filtros Web foram introduzidos no ISA Server 2004 Service Pack 2 ou no Windows Essential Business Server 2008. Pode desactivar estes filtros Web devido a problemas de compatibilidade de programa que se refiram a alguns servidores Web.

Resolução

Informações sobre Service Packs

Para resolver este problema, instale o ISA Server 2004 Service Pack 3 (SP3) e, em seguida, execute o script do Microsoft Visual Basic que é mencionado nesta secção. Para obter mais informações sobre como obter o service pack mais recente do ISA Server 2004, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:

891024 como obter o service pack mais recente do ISA Server 2004Depois de instalar o service pack, execute o seguinte script para activar um novo parâmetro de configuração. Este novo parâmetro permite reencaminhar os pedidos que incluam o cabeçalho Accept-Encoding HTTP se estiverem desactivados os filtros de compressão num cenário de forward proxy do ISA Server. Para tal, siga estes passos. Microsoft fornece exemplos de programação apenas, a título sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação que está a ser demonstrada e com as ferramentas que são utilizadas para criar e depurar procedimentos. Técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

  1. Clique em Iniciar, aponte para Todos os programas, aponte para Acessóriose, em seguida, clique em Bloco de notas.

  2. Cole o código seguinte no documento do bloco de notas.

    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. Guarde o ficheiro do bloco de notas como "AccessRuleSendAcceptEncodingHeader.vbs".

  4. Faça duplo clique no ficheiro. vbs para executar o script.

Para desactivar o novo parâmetro de configuração, siga estes passos:

  1. Clique em Iniciar, aponte para Todos os programas, aponte para Acessóriose, em seguida, clique em Bloco de notas.

  2. Cole o código seguinte no documento do bloco de notas.

    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. Guarde o ficheiro do bloco de notas como "Disable_AccessRuleSendAcceptEncodingHeader.vbs".

  4. Faça duplo clique no ficheiro. vbs para executar o script.

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×