IIS 6.0 no Windows Server 2003: erro HTTP 404 no diretório virtual; sistema não pode encontrar o arquivo especificado (win32 status code 2)

2

Problema muito estranho. Estou executando o Windows Server 2003, com o IIS 6.0. Em um dos sites, existem três diretórios virtuais: A, B e C. Por qualquer motivo, e, pelo que entendi, ninguém tocou na caixa, A e C estão tendo um grande problema. Qualquer página nesses diretórios virtuais, se você navegar pelo IIS ou por um cliente externo, exibe uma página não encontrada. Eu olhei o erro no arquivo de log. É um erro 404.0 HTTP, erro de status do Windows 2. Assim, a página não é encontrada e o sistema não pode encontrar o arquivo especificado.

Os arquivos estão lá, cada um deles.

Como teste, criei um novo diretório virtual com o nome "D" (sem aspas), apontando para o mesmo diretório do diretório virtual "C" e, com certeza, funcionou. Como é possível que C não funcione e D funcione, mas ambos apontam para o mesmo diretório físico?

Como outro teste, eu deletei o diretório virtual "C" e recriou-o. E o que aconteceu? A página não pôde ser encontrada para nenhum arquivo nesse diretório virtual.

Eu verifiquei os arquivos XML do IIS e eles pareciam bem.

Deve haver alguma entrada de registro ou alguma dependência do IIS que esteja corrompida ou ausente, o que está causando problemas.

Eu realmente aprecio alguns conselhos.

Obrigado.

    
por user717236 02.04.2012 / 19:55

1 resposta

1

A resposta parece ser algo fora do IIS por um programa chamado KnowledeBase, que aproveita o IIS. Algo ou alguém correu seu programa de administração ou registro, que alterou um ou dois registros de suas entradas de registro. Suas entradas de registro incluem parâmetros que armazenam a letra da unidade de arquivos de dados e executando este programa excluído ou redefinir essas entradas. Eu só sabia disso depois de entrar em contato com o fornecedor deste programa KnowledgeBase. Não só isso, mas eu não consegui navegar pelos arquivos do IIS. O fornecedor tem um filtro isapi que bloqueia essa solicitação e força você a fazer o login de um cliente para acessar as páginas. Eles alegam que isso é por razões de segurança, forçando você a usar uma conta de login. Então, para testar se suas páginas estão funcionando, eu tenho que usar outra máquina e fazer login.

Eles também disseram que o motivo pelo qual o diretório virtual "D" funcionava era porque o filtro isapi estava procurando especificamente por "A", "B" e "C". Qualquer outro nome e seu filtro isapi não atende. Suponho que eles usem "A", "B" e "C" em seu aplicativo KnowledgeBase compilado.

Para resumir, foi lançado um aplicativo externo que aproveita as entradas de registro modificadas do IIS e só encontrei a resposta depois que alguém do fornecedor encontrou a resposta.

Obrigado.

    
por 02.04.2012 / 22:21