Artigo: 917265 - Última revisão: terça-feira, 30 de Janeiro de 2007 - Revisão: 2.5

Mensagem de erro quando acederem a computadores cliente que um sejam proxy Web sites que são publicados utilizando o ISA Server 2004: ? 404 não encontrado. O item pedido não foi possível localizar (12028) ?

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário:
  • Têm vários Web sites hospedados num servidor Web back-end.
  • Publicar o servidor Web utilizando o Microsoft Internet Security and Acceleration (ISA) Server 2004.
  • Utilize a opção pedidos parecem ter do cliente original e a opção reencaminhar o cabeçalho de anfitrião original em vez do real [especificado acima] para configurar a regra de publicação Web.
Neste cenário, se aceder ao Web site de um computador cliente que está por trás de um servidor proxy que coloca em cache ligações directas, poderá receber uma mensagem de erro semelhante à seguinte:
404 Não encontrado. O item pedido não foi possível localizar (12028)

Causa

Este problema ocorre se Web publicação ISA Server não é possível estabelecer uma ligação ao servidor Web.

Este problema poderá ocorrer se tem de pedidos do computador cliente externos que são enviados para o ISA Server na mesma ligação de TCP cabeçalhos de anfitrião diferente. Este problema também poderá ocorrer se os pedidos são endereçados para o mesmo servidor Web publicado.

Neste cenário, o ISA Server encerra a ligação que é utilizada para o primeiro pedido de cabeçalho de anfitrião e abre uma nova ligação ao servidor Web publicado quando altera o cabeçalho de anfitrião. ISA Server abre novas ligações ao servidor da Web, uma vez que alguns servidores Web incorrectamente pedidos que são enviadas com cabeçalhos de anfitrião diferente que chegam na mesma ligação de TCP.

Se activar a opção pedidos parecem ter do cliente original , o mesmo IP de origem e a porta é utilizada pelo ISA server quando estabelecer a ligação TCP segunda para o servidor Web publicado. Em seguida, o servidor Web poderá não responder para a segunda ligação TCP tente e poderá receber a mensagem de erro que descreve a secção "Sintomas".

Resolução

Para resolver este problema, efectue o procedimento seguinte adequado à situação:
  • Para o ISA Server 2004 Standard Edition em execução no Small Business Server 2003 Premium Edition, instale a correcção seguinte a partir do Centro de transferências da Microsoft:
    http://www.microsoft.com/downloads/details.aspx?FamilyId=25BB5F65-4734-4268-B2B1-1606DCEAC06F&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyId=25BB5F65-4734-4268-B2B1-1606DCEAC06F&displaylang=en)
  • Para o ISA Server 2004 Standard Edition que não está em execução no Small Business Server 2003 e o ISA Server 2004 Enterprise Edition, instale a correcção descrita no artigo de base de dados de conhecimento da Microsoft 919621.
    919621  (http://support.microsoft.com/kb/919621/ ) Descrição do pacote de correcção o ISA Server 2004: 31 de Maio de 2006
? (http://support.microsoft.com/kb/919621/). Tenha em atenção que as informações sobre o script (a frase "Depois de aplicar a correcção, executar o Microsoft Visual Basic script..." a iniciar permanece tal como está. Depois de aplicar a correcção, execute o script do Microsoft Visual Basic que é descrito nesta secção. Para o fazer, siga estes passos.

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as 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 apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os 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 programas , aponte para Acessórios e, em seguida, clique em bloco de notas .
  2. Copie e cole o seguinte código num novo documento o bloco de notas e, em seguida, guardá-lo um nome de ficheiro com uma extensão .vbs como AddReuseSessionForDifferentHostHeader .vbs:
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' Copyright (c) Microsoft Corporation. All rights reserved.
    ' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
    ' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
    ' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
    ' HEREBY PERMITTED.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' This script adds a new VendorParametersSets under the array root.
    ' Used to added new parameters that are needed for hotfixes or service packs.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Sub AddReuseSessionForDifferentHostHeader()
     
        ' 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( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )
     
        If Err.Number <> 0 Then
            Err.Clear
     
            ' Add the item
            Set VendorSet = VendorSets.Add( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )
            CheckError
            WScript.Echo "New VendorSet added... " & VendorSet.Name
     
        Else
            WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value("ReuseSessionForDifferentHostHeader")
        End If
     
        if VendorSet.Value("ReuseSessionForDifferentHostHeader") <> true Then
     
            Err.Clear
            VendorSet.Value("ReuseSessionForDifferentHostHeader") = true
     
            If Err.Number <> 0 Then
                CheckError
            Else
                VendorSets.Save false, true
                CheckError
     
                If Err.Number = 0 Then
                    WScript.Echo "Done with ReuseSessionForDifferentHostHeader, saved!"
                End If
            End If
        Else
            WScript.Echo "Done with ReuseSessionForDifferentHostHeader, 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
     
    AddReuseSessionForDifferentHostHeader
    
  3. Faça duplo clique no ficheiro .vbs para executar o script.

Como contornar

Para contornar este problema, utilize a opção pedidos parecem ter do computador do ISA Server em vez da opção que pedidos parecem ter do cliente original para configurar a regra de publicação Web. Para o fazer, siga estes passos:
  1. Inicie a ferramenta de gestão do ISA Server.
  2. Expanda o nó de computador do ISA Server e, em seguida, clique em Política do Firewall do .
  3. Clique com o botão direito do rato a regra de publicação Web que pretende configurar e, em seguida, clique em Propriedades .
  4. Clique no separador para , clique em pedidos parecem ter do computador do ISA Server e, em seguida, clique em OK .
  5. Clique em Aplicar para guardar as alterações e actualizar a configuração.

    Nota Esta solução alternativa poderá resolver erros semelhantes gerados pelo servidor Web publicado incorrectamente encaminhamento de tráfego de TCP de retorno para o endereço IP do computador de cliente através do ISA server.

Mais Informação

Para desactivar a reutilização de ligações TCP quando o cabeçalho de anfitrião é diferente, execute o seguinte script:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Copyright (c) Microsoft Corporation. All rights reserved.
' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
' HEREBY PERMITTED.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' This script removes a VendorParametersSet value.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub ReuseSessionForDifferentHostHeader()

    ' 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( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )

    If Err.Number <> 0 Then
        Err.Clear

        WScript.Echo "VendorParametersSet does not exist."

    Else
        Err.Clear
        VendorSet.RemoveValue("ReuseSessionForDifferentHostHeader")

        If Err.Number <> 0 Then
            CheckError
        Else
            VendorSets.Save false, true
            CheckError

            If Err.Number = 0 Then
                WScript.Echo "Done removing ReuseSessionForDifferentHostHeader, saved!"
            End If
        End If
    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

ReuseSessionForDifferentHostHeader

Normalmente, poderá detectar o erro que este artigo descreve quando o ISA server não consegue contactar o servidor Web publicado.

Esta correcção resolve um cenário muito específico. Antes de aplicar esta correcção, verifique a conectividade básica a partir do servidor ISA para o servidor publicado. Por exemplo, consulte Resolução de nomes, conectividade TCP e, em seguida, utilize um dos soluções sugeridas para confirmar o problema.

Ponto Da Situação

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

A informação contida neste artigo aplica-se a:
  • Microsoft Internet Security and Acceleration Server 2004 Standard Edition
  • Microsoft Internet Security and Acceleration Server Enterprise Edition Service Pack 2
Palavras-chave: 
kbmt atdownload kbqfe kbprb KB917265 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 917265  (http://support.microsoft.com/kb/917265/en-us/ )