Erreur IIS 404 lorsque le fichier existe

15

J'ai une nouvelle installation VPS de mon fournisseur (Windows 2008 R2, IIS 7.5).

Le site Web par défaut fonctionne très bien: http://5.9.251.167/
j'ai créé un nouveau site Web et une liaison pour http://new.ianquigley.com
Sur ce serveur et partout ailleurs, ce domaine est mappé à l'adresse IP. (ping new.ianquigley.com par exemple).

J'ai créé le sous-dossier c:\inetpub\wwwroot\com.ianquigleyet créé un fichier HTML index.htmlavec le contenu " <html>cake</html>"

Le document par défaut du site Web est index.html

Sur le serveur, dans Chrome, je navigue sur http://new.ianquigley.com/index.html et j'obtiens une erreur 404.

La page dit;

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

Le Chemin Physique existe. Le dossier wwwrootet les com.ianquigleydeux ont l'autorisation "Tout le monde" et "Lecture".

Le c:\inetpub\wwwroot\logfiles\w3svc2\u_ex130201fichier contient la demande d'index.html avec le code d'erreur 404.

mise à jour (à partir du commentaire ci-dessous)
J'ai créé c:\cakeavec les autorisations "Tout le monde" "Contrôle total". J'ai déplacé mon fichier index.html et modifié le mappage dans IIS. Vérifier à nouveau la page dans le navigateur sur le serveur me donne la même chose que ci-dessus sauf que le chemin physique estc:\cake\index.html

mise à jour 2 Le site Web par défaut (qui fonctionne bien / peut lire à partir du disque) s'exécute dans le "DefaultAppPool", qui utilisait à l'origine le compte "ApplicationPoolIdentity". Le nouveau site Web utilise également ce même pool d'applications. J'ai essayé de changer le compte en; NetworkService, LocalService et LocalSytem (actualisation du pool d'applications à chaque fois) .. toujours pas de joie!

Journal 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

Le sc-win32-status: 2moyen "fichier introuvable". Il s'agit donc probablement simplement d'un problème de permission d'accès aux fichiers. Si tel est le cas, pourquoi le site Web par défaut peut-il lire le c:\inetpub\wwwrootdossier avec succès, mais pas un sous-dossier avec autorisation.

En ce moment, je suis complètement perplexe.

Ian Quigley
la source
Lorsque je supprime le fichier index.html de l'URL, j'obtiens une erreur 403, qui pourrait être due au fait que le répertoire racine du site dans IIS n'est pas mappé c:\inetpub\wwwroot\com.ianquigley? Avez-vous essayé de déplacer le site vers un dossier physique en dehors d'Inetpub et de mapper le site Web IIS vers ce dossier à la place?
levelnis
Merci pour la suggestion. Je l'ai essayé et mis à jour la question. Toujours pas de joie :(
Ian Quigley
Sous quelle identité le pool d'applications est-il configuré pour s'exécuter? Si c'est le cas AppPoolIdentity, essayez de le changer enNetworkService
levelnis
J'ai essayé de le changer pour Network Serivce - toujours le même problème
Ian Quigley
La sous-fonctionnalité de contenu statique est-elle activée dans IIS?
Chris McKeown

Réponses:

27

Facepalm

Nouvelle boîte VPS, signifie comportement par défaut. c'est-à-dire "Masquer les extensions de type de fichier pour les types connus". Lorsque j'ai désactivé cela, j'ai découvert que mon fichier était en fait nommé index.html.txt. Renommé à index.htmlet problème résolu.

Ian Quigley
la source
24
Pourquoi un système d'exploitation serveur, où le seul public réel est la foule des administrateurs du serveur, désactive-t-il l'affichage de l'extension de fichier comme si vous étiez un schmuck analphabète? Oh Microsoft ...
Kaslai
1
@Aslai: +1. Ian: +1 pour cela a dû être une douleur absolue à comprendre à la fin.
Non
OMG. Le mien était index.htm.html. Tellement stupide
Piotr Kula
1
Putain de merde. 4 ans plus tard, je trébuche sur ce sujet tout en essuyant mon cerveau pour mes 404 malheurs sur une toute nouvelle installation de serveur. index.htm.txt Si vous étiez à proximité, je vous achèterais des bières toute la journée.
Steve
1

Assurez-vous que les «Fonctions HTTP communes» sous Web Server sont installées. Vous pouvez utiliser le Gestionnaire de serveur -> Rôles -> Serveur Web -> Services de rôle pour vérifier et installer s'il ne l'est pas.

Ryan
la source