Erro do IIS 404 em que o arquivo existe

15

Eu tenho uma nova instalação do VPS do meu provedor (Windows 2008 R2, IIS 7.5).

O site padrão funciona bem: http://5.9.251.167/
criei um novo site e vinculei-me a http://new.ianquigley.com
Nesse servidor e em qualquer outro lugar em que o domínio mapeie o endereço IP. (execute ping em new.ianquigley.com por exemplo).

Criei a subpasta c:\inetpub\wwwroot\com.ianquigleye criei um arquivo HTML index.htmlcom o conteúdo " <html>cake</html>"

O documento padrão para o site é index.html

No servidor, no Chrome, procuro http://new.ianquigley.com/index.html e recebo um erro 404.

A página diz;

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had it's name changed, 
or is temporarily unavailable.

Detail:
Module: IIS Web Core
Notification: HttpRequestHandler
Handler: StaticFile
Error Code: 0x80007002
Request URL: http://new.ianquigley.com/index.html
Physical path: c:\inetpub\wwwroot\com.ianquigley\index.html
Logon Method: Anonymous
Logon User: Anonymous
Failed Request Log: c:\inetpub\logs\FailedRequestLog

O caminho físico existe. A pasta wwwroote os com.ianquigleydois têm permissão "Todos" e "Leitura".

O c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201arquivo contém a solicitação para o index.html com o código de erro 404.

update (do comentário abaixo)
que criei c:\cakecom as permissões "Todos" e "Controle total". Movi meu arquivo index.html para lá e alterei o mapeamento no IIS. Verificar a página no navegador no servidor novamente me dá o mesmo que acima, exceto pelo Caminho Físico.c:\cake\index.html

atualização 2 O site padrão (que funciona bem / pode ler do disco) é executado no "DefaultAppPool", que originalmente usava a conta "ApplicationPoolIdentity". O novo site também usa esse mesmo pool de aplicativos. Tentei alterar a conta para; NetworkService, LocalService e LocalSytem (atualizando o pool de aplicativos a cada vez) .. ainda não há alegria!

Log W3SVC2

#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2013-02-02 20:00:02
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2013-02-02 20:00:02 5.9.251.167 GET /index.html - 80 - 5.9.251.167 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.17+(KHTML,+like+Gecko)+Chrome/24.0.1312.57+Safari/537.17 404 0 2 1151

O sc-win32-status: 2meio "arquivo não encontrado". Portanto, isso provavelmente é simplesmente um problema de permissão de acesso a arquivos. Se for, por que o site padrão pode ler da c:\inetpub\wwwrootpasta com êxito, mas não uma subpasta com permissão.

Agora eu estou completamente perplexo.

Ian Quigley
fonte
Quando removo o arquivo index.html da URL, recebo um erro 403, que pode ser devido ao diretório raiz do site no IIS não estar sendo mapeado c:\inetpub\wwwroot\com.ianquigley? Você já tentou mover o site para uma pasta física fora do inetpub e mapear o site do IIS para essa pasta?
Level1
Obrigado pela sugestão. Já tentei e atualizei a pergunta. Ainda não há alegria :(
Ian Quigley
Em qual identidade o pool de aplicativos está configurado para ser executado? Se for AppPoolIdentity, tente alterá-lo paraNetworkService
levelnis
Eu tentei alterá-lo para a rede Serivce - ainda o mesmo problema
Ian Quigley
Você tem a sub-característica de conteúdo estático ativada no IIS?
Chris McKeown

Respostas:

27

Facepalm

Nova caixa VPS, significa comportamento padrão. ou seja, "Ocultar extensões de tipo de arquivo para tipos conhecidos". Quando desliguei isso, descobri que meu arquivo tinha mesmo o nome index.html.txt. Renomeou para index.htmle problema resolvido.

Ian Quigley
fonte
24
Por que um sistema operacional de servidor, onde a única audiência real é a multidão de administradores de servidor, desabilita a exibição da extensão de arquivo para você como se você fosse um idiota analfabeto do computador? Oh Microsoft ...
Kaslai
1
@Aslai: +1. Ian: +1 para isso deve ter sido uma dor absoluta para descobrir no final.
Não
AMD. O meu era index.htm.html. Tão burro
Piotr Kula
1
Puta merda. 4 anos depois, eu tropeço nisso enquanto destrói meu cérebro em busca de meus 404 problemas em uma nova instalação de servidor. index.htm.txt Se você estivesse por perto, compraria cervejas o dia inteiro.
31417 Steve
1

Verifique se "Recursos HTTP comuns" no Servidor da Web estão instalados. Você pode usar o Gerenciador do Servidor -> Funções -> Servidor Web -> Serviços de Função para verificar e instalar, se não estiver.

Ryan
fonte