IIS 7.5, 2008rc2, asp classique, 500 msg d'erreur:
La page ne peut pas être affichée car une erreur de serveur interne s'est produite.
J'ai besoin de savoir comment configurer IIS pour obtenir une erreur plus détaillée.
J'ai essayé de définir sur true toutes les options de débogage dans la configuration ASP.
Mais cela n'a pas fonctionné. Quelqu'un peut-il m'aider?
asp-classic
error-handling
iis-7.5
egidiocs
la source
la source
Réponses:
Je suis venu au même problème et fixe la même manière que Alex K .
Donc, si "Envoyer les erreurs au navigateur" ne fonctionne pas, définissez également ceci:
Pages d'erreur -> 500 -> Modifier les paramètres des fonctionnalités -> "Erreurs détaillées"
Notez également que si le contenu de la page d'erreur renvoyée est assez court et que vous utilisez IE, IE ignorera volontiers le contenu utile renvoyé par le serveur et vous montrera à la place sa propre page d'erreur générique. Vous pouvez désactiver cette option dans les options d'IE ou utiliser un autre navigateur.
la source
Turn Windows features on or off > Internet Information Services > World Wide Web Services > Common HTTP Features > [✓] HTTP Errors
.HOW-TO
pour les pages d'erreur NET ?Si vous êtes sur un serveur distant, vous pouvez configurer votre fichier web.config comme ceci:
la source
<system.webserver>
paramètres étaient suffisants dans mon cas, merci.system.webServer
section est lue par IIS 7+ même lors de l'exécution d'ASP classiquecustomErrors
(par exemple IIS 7+, ASP.NET, Classic AppPool ) tedgustaf.com/blog/2011/5/…Double-cliquez sur "ASP" dans l'écran d'accueil du site dans l'administration IIS, développez "Propriétés de débogage", activez "Envoyer les erreurs au navigateur" et cliquez sur "Appliquer".
Sous "Pages d'erreur" sur l'écran d'accueil, sélectionnez "500", puis "Modifier les paramètres des fonctionnalités" et sélectionnez "Erreurs détaillées".
Notez que les mêmes étapes s'appliquent à IIS 8.0 (Windows Server 2012).
la source
Après avoir essayé la réponse de Vaclav et Alex , je devais toujours désactiver "Afficher les messages d'erreur HTTP conviviaux" dans IE
la source
Dans web.config sous
remplacer (ou ajouter) la ligne
avec
Cela est dû au fait que, par défaut, IIS7 intercepte les codes d'état HTTP tels que 4xx et 5xx générés par des applications plus haut dans le pipeline.
Ensuite, activez « Envoyer les erreurs au navigateur » dans la section «ASP», et sous « Pages d'erreur / Modifier les paramètres des fonctionnalités », sélectionnez «Erreurs détaillées».
En outre, donner des autorisations Ecrire sur le dossier du site Web aux IIS_IUSRS BUILTIN groupe.
la source
Set-WebConfigurationProperty '/system.WebServer/httpErrors' -Name errorMode -Value Detailed
TLDR: Déterminez d'abord où dans le pipeline vous obtenez l'erreur (faites défiler la recherche pour des captures d'écran de quelque chose qui ressemble à votre erreur), apportez des modifications pour obtenir quelque chose de nouveau, répétez.
Déterminez d'abord le message d'erreur que vous voyez réellement.
Si vous voyez le fichier situé ici ...
% SystemDrive% \ inetpub \ custerr \\ 500.htm
... qui ressemble généralement à ceci:
... alors vous savez que vous voyez la page d'erreur actuellement configurée dans ** IIS ** et que vous n'avez PAS besoin de modifier le paramètre d'ASP.net customErrors, le paramètre de détail d'erreur asp ou le paramètre de navigateur "Afficher les erreurs http conviviales".
Vous voudrez peut-être regarder le chemin référencé ci-dessus au lieu de faire confiance à ma capture d'écran au cas où quelqu'un la modifierait.
"Oui, je vois l'erreur décrite ci-dessus ..."
Dans ce cas, vous voyez le paramètre < httpErrors > ou dans IIS Manager, c'est Error Pages -> Edit Feature Settings. La valeur par défaut pour cela est errorMode = DetailedLocalOnly au niveau du nœud du serveur (par opposition au niveau du site), ce qui signifie que même si vous verrez cette page d'erreur configurée à distance, vous devriez pouvoir vous connecter localement au serveur et voir l'intégralité erreur qui devrait ressembler à ceci:
Vous devriez avoir tout ce dont vous avez besoin à ce stade pour corriger l'erreur actuelle.
"Mais je ne vois pas l'erreur détaillée même en naviguant sur le serveur"
Cela laisse quelques possibilités.
"La connexion au serveur n'est pas une option pour moi"
Modifiez les httpErrors de votre site en "Détaillé" afin de pouvoir le voir à distance. Mais si cela ne fonctionne pas, votre erreur peut déjà être une erreur de configuration, voir # 3 immédiatement ci-dessus. Vous pourriez donc être coincé avec le n ° 4 ou le n ° 5 et vous aurez besoin de quelqu'un de votre équipe serveur.
"Je ne vois pas la page d'erreur décrite ci-dessus. Je vois quelque chose de différent"
Si vous voyez ceci ...
... et vous vous attendez à voir quelque chose comme ça ...
... alors vous devez changer «Envoyer les erreurs au navigateur» sur true dans le Gestionnaire des services Internet (IIS), sous Site -> IIS -> ASP -> Propriétés de débogage
Si vous voyez ceci ...
ou ca...
... vous devez désactiver les erreurs conviviales dans votre navigateur ou utiliser la vue Web de Fiddler pour regarder la réponse réelle par rapport à ce que votre navigateur choisit de vous montrer.
Si vous voyez ceci ...
... alors les erreurs personnalisées fonctionnent mais vous n'avez pas de page d'erreur personnalisée (bien sûr, à ce stade, nous parlions de .net et non d'asp classique). Vous devez changer votre balise customErrors dans votre web.config en RemoteOnly pour afficher sur le serveur, ou Off pour afficher à distance.
Si vous voyez quelque chose qui ressemble à votre site, alors les erreurs personnalisées sont probablement On ou RemoteOnly et cela affiche la page personnalisée (Views-> Shared-> Error.cshtml dans MVC par exemple). Cela dit, il est peu probable mais possible que quelqu'un ait changé les pages dans IIS pour httpErrors, alors voyez la première section à ce sujet.
la source
essayez de définir la valeur de l'attribut httpErrors "existingResponse" sur "PassThrough". Le mien était réglé sur "Remplacer", ce qui empêchait l'affichage du YSOD.
la source
Une chose que personne n'a mentionnée est comme une solution très rapide et temporaire, vous pouvez afficher l'erreur sur l'hôte local de ce serveur Web.
la source
Vous pouvez également vérifier que si vous avez modifié votre dossier de site Web principal (
c:\inetpub\wwwroot
) vers un autre dossier, vous devez accorder l'autorisation de lecture au groupe IIS_IUSRS dans le nouveau dossier.la source
Pour les personnes qui ont TOUT essayé et qui ne peuvent tout simplement pas afficher les détails de l'erreur, comme moi, c'est une bonne idée de vérifier les différents niveaux de configuration. J'ai un fichier de configuration au niveau du site Web et au niveau de l'application (à l'intérieur du site Web), vérifiez les deux. De plus, il s'est avéré que les erreurs détaillées étaient désactivées sur le nœud le plus élevé d'IIS (juste en dessous de la page de démarrage, il a le nom qui est le même que le nom de l'ordinateur du serveur Web). Vérifiez les pages d'erreur là-bas.
la source
Je l'ai trouvé.
http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx
exécutez cmd en tant qu'administrateur, accédez à votre dossier system32 \ inetsrv et exécutez:
Maintenant, je peux voir des erreurs asp détaillées.
la source
Si vous exécutez le navigateur sur le serveur et testez votre URL du projet avec l'adresse IP locale, vous avez reçu toutes les erreurs de ce projet sans une page d'erreur générale (par exemple, une page d'erreur 500).
la source