IIS6: Como solucionar um erro 404 em um aplicativo ASP.NET?

5

Eu tenho um aplicativo ASP.NET em um Windows Server 2003 / IIS6 que se recusa a executar por algum motivo (é o Centro Xerox, se essa informação ajudar). Tem funcionado sem falhas antes, embora neste servidor.

Agora, tudo que eu obtenho se eu tentar abrir a página inicial do aplicativo ( http://some.intranet.server/XeroxCentreWareWeb/ ) é um erro "404 - Arquivo ou diretório não encontrado".

  • O aplicativo está configurado para ser executado em seu próprio pool de aplicativos, que é executado como Serviço de Rede.
  • A conta do Serviço de Rede tem acesso de leitura ao diretório configurado.
  • Se eu parar o pool de aplicativos, receberei a mensagem "Serviço indisponível" esperado, o que significa que o aplicativo e seu pool estão conectados corretamente
  • Tentei rastrear qualquer problema de permissão de arquivos com o procmon - nada para ser visto. Não há nem mesmo um acesso ao diretório de aplicativos da Web que acontece quando a página é carregada.
  • Curiosamente, de acordo com o procmon, o servidor da Web acessa o arquivo de erro personalizado 401-2 (Falha no logon devido à configuração do servidor) primeiro, mas decide enviar o 404 para o cliente.
  • EDITAR: O aplicativo é executado com autenticação integrada pelo Windows. Usuários regulares também têm acesso ao diretório do aplicativo ( eu teria notado as mensagens do sistema de arquivos "ACCESS DENIED" no procmon, se houvesse algum. )

Isso me faz pensar que há algum tipo de problema de permissão estranho que ocorre antes mesmo de os arquivos do aplicativo serem acessados. Eu não tenho ideia de onde procurar.

Eu tentei executar o pool de aplicativos como Sistema Local para um teste, mas sem sucesso.

O que mais posso verificar neste caso?

    
por Tomalak 22.10.2009 / 15:00

10 respostas

2

A resposta que encontrei é tão simples quanto não óbvia.

Ainda havia um "Mapa de aplicativos curinga" definido para um servidor de aplicativos não mais existente (ColdFusion, neste caso). O desinstalador do ColdFusion obviamente "esqueceu" de remover essa configuração da MetaBase.

Mapas de aplicativos curinga são definidos aqui:

  • no Gerenciador do IIS, abra a caixa de diálogo Propriedades do aplicativo
  • na guia "Diretórios virtuais", consulte a seção "Configurações do aplicativo"
  • clique em "Configuração…"
  • a caixa de diálogo "Configuração do aplicativo" é aberta
  • aqui está, na guia "Mapeamentos"
por 24.03.2010 / 21:57
2

Primeiramente, adoro as etapas de solução de problemas que você realizou. Mais um teste de 'interrupção' é parar o site em si, não apenas o pool de aplicativos, para garantir que não seja outro site que o manipule, mas que compartilhe o pool de aplicativos.

O IIS6 tem a seção "Extensões de serviços da Web" no Gerenciador do IIS. Certifique-se de que a versão da estrutura que você está usando seja permitida. Se você alterou recentemente a versão do framework para um que não está marcado como permitido, isso causará um erro 404.

Os registros do IIS também confirmarão o código de sub-status para você e também confirmarão que o site correto está conectado.

    
por 13.12.2009 / 04:37
0

Verifique os logs do IIS. Não consigo ver sua pergunta se você já fez isso.

A página 404 não é encontrada, por isso, analiso os problemas de caminho antes das credenciais.

    
por 22.10.2009 / 15:05
0

Correndo o risco de apontar o óbvio ... O default.aspx ainda está na lista de documentos padrão para o site / diretório virtual?

    
por 22.10.2009 / 16:53
0

Desça um nível e instale o Wireshark. Cheirar a transação inteira no servidor.

    
por 22.10.2009 / 18:01
0

Como outros disseram, use o Wireshark ou outro programa de captura de pacotes para analisar o tráfego entre o cliente e o servidor. Isso permitirá que você veja a solicitação exata que o cliente está enviando para o servidor e a resposta do servidor. Eu acho que quando eu estou batendo minha cabeça contra uma parede com um problema de rede que a captura de um pacote frequentemente ilumina algo que eu perdi ou esqueci.

    
por 23.10.2009 / 03:25
0

Os problemas do asp.net / app pool geralmente são gravados nos logs de eventos, então esse seria meu primeiro lugar para verificar antes de fazer qualquer análise de tráfego.

    
por 23.10.2009 / 08:11
0

Existem alguns aplicativos para visualizar cabeçalhos HTTP diretamente no navegador.

ieHTTPHeaders funciona bem para o Internet Explorer. Se você usa o Firefox, você pode fazer uma pesquisa por cabeçalhos HTTP ao vivo. (Eu não tenho representante suficiente para postar um segundo link).

Qual é o caminho físico da aplicação? Está configurado como um diretório virtual ou está realmente em wwwroot? Você pode navegar pelo conteúdo através do gerenciador do IIS?

    
por 13.12.2009 / 02:07
0

Alterando as extensões de serviço da web para permitir a correção do problema 404 para mim. Eu acredito que esses valores foram alterados durante um dos nossos ciclos de patch.

    
por 27.02.2013 / 19:11
-1

Você pode tentar instalar o Fiddler e executá-lo com as ferramentas do IE8 Developer para ver se está sendo redirecionado ou algo assim.

    
por 03.02.2010 / 05:46