Sintomas
Num servidor com o Microsoft Internet Security and Acceleration (ISA) Server 2004 com o Service Pack 2 ou o Windows Essential Business Server 2008, desativa os dois filtros Web seguintes:
-
Filtro de Compressão
-
Colocação em Cache do Filtro de Conteúdo Comprimido
Depois de o fazer, o ISA Server 2004 ou o Windows Essential Business Server 2008 bloqueia pedidos que incluem o cabeçalho HTTP Accept-Encoding quando é utilizado um proxy de reencaminhamento.
Estes filtros Web foram introduzidos no ISA Server 2004 Service Pack 2 ou no Windows Essential Business Server 2008. Pode desativar estes filtros Web devido a problemas de compatibilidade de programas que envolvem alguns servidores Web.
Resolução
Informações do service pack
Para resolver este problema, instale o ISA Server 2004 Service Pack 3 (SP3) e, em seguida, execute o script do Microsoft Visual Basic mencionado nesta secção.
Depois de instalar o service pack, execute o seguinte script para ativar um novo parâmetro de configuração. Este novo parâmetro permite ao SERVIDOR ISA reencaminhar pedidos que incluem o cabeçalho http Accept-Encoding se os filtros de compressão estiverem desativados num cenário de proxy de reencaminhamento. Para tal, siga estes passos.
A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isto inclui, mas não se limita a, as garantias implícitas de comercialização ou adequação para 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. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um procedimento específico. No entanto, não modificarão estes exemplos para fornecer funcionalidades adicionais ou procedimentos de construção para satisfazer os seus requisitos específicos.
-
Clique em Iniciar, aponte para Todos os Programas, aponte para Acessórios e, em seguida, clique em Bloco de Notas.
-
Cole o seguinte código no documento do Bloco de Notas.
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
-
Guarde o ficheiro do Bloco de Notas como "AccessRuleSendAcceptEncodingHeader.vbs".
-
Faça duplo clique no ficheiro .vbs para executar o script.
Para desativar o novo parâmetro de configuração, siga estes passos:
-
Clique em Iniciar, aponte para Todos os Programas, aponte para Acessórios e, em seguida, clique em Bloco de Notas.
-
Cole o seguinte código 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
-
Guarde o ficheiro do Bloco de Notas como "Disable_AccessRuleSendAcceptEncodingHeader.vbs".
-
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".