it-swarm.com.de

Wie diagnostiziere ich einen 500 Internal Server Error auf IIS 7.5, wenn nichts in das Ereignisprotokoll geschrieben wird?

Ich habe gerade ein Update für eine vorhandene ASP.NET MVC3-Site bereitgestellt (diese wurde bereits konfiguriert) und erhalte den blauen Bildschirm IIS) mit der Angabe des Todes

HTTP-Fehler 500.0 - Interner Serverfehler
Die Seite kann nicht angezeigt werden, da ein interner Serverfehler aufgetreten ist.

Jedoch; Im Anwendungsereignisprotokoll wird nichts angezeigt, wo ich eine (detailliertere) Beschreibung des Eintrags erwarten würde.

Wie kann ich dieses Problem diagnostizieren?

46
Greg B

Sehen Sie sich die Funktion zur Verfolgung fehlgeschlagener Anforderungen in IIS7 an:

Fehlerbehebung bei fehlgeschlagenen Anforderungen mithilfe der Ablaufverfolgung in IIS 7
Fehlerbehebung bei fehlgeschlagener Anforderungsverfolgung

Das andere, was ich tun würde, ist Tweak your <httpErrors> Einstellung, weil IIS möglicherweise eine Fehlermeldung von weiter oben in der Pipeline verschluckt:

<configuration>
  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
</configuration>

Wenn die Site in Classic ASP) geschrieben ist, müssen Sie die Einstellung Fehler an Browser senden in = aktivieren ASP Konfigurationsfunktion:

enter image description here

Und schließlich, wenn Sie Internet Explorer verwenden, stellen Sie sicher, dass Sie deaktiviert sind . Zeigen Sie in den erweiterten Einstellungen freundliche HTTP-Fehlermeldungen an (obwohl ich Sie vermute habe das schon gemacht oder benutze einen anderen Browser).

44
Kev

In meinem Fall:

  • Das Ereignisprotokoll war leer.
  • web.config war nicht beschädigt - wurde überprüft, indem dasselbe auf dem lokalen Computer/inetmgr verwendet wurde

Schließlich...

  • Beim Überprüfen von IIS -Protokolle wurde eine solche Anforderung angezeigt

...Chrome/57.0.2987.133+Safari/537.36 500 19 5 312

Der Schlüssel ist:

sc-status sc-substatus sc-win32-status 500 19 5

was mich mit etwas googeln auf die IIS_USRS keine Leseberechtigungen für den Ordner www haben

13
fiat

Das offensichtlichste Problem sind unzulässige oder keine NTFS-Rechte für den Webanwendungsordner. Stellen Sie daher sicher, dass das Konto, das die Site bedient, über die richtigen Berechtigungen verfügt. Ohne die richtigen NTFS-Rechte für das Webverzeichnis spielt es keine Rolle, was Sie in die web.config einfügen, da diese niemals gelesen wird.

Eine schnelle Überprüfung kann darin bestehen, allen Benutzern die vollen Rechte zu erteilen. Wenn die Site funktioniert, wissen Sie, dass es sich um ein Rechteproblem handelt, und können dann einem angemesseneren Konto die entsprechenden Rechte zuweisen.

4
rism

Wenn Sie ein Upgrade von IIS6 durchführen, funktioniert möglicherweise eine der web.config-Funktionen unter 6, jedoch nicht in IIS 7.5 ... Doppelklicken Sie auf alle Symbole in IIS für die Website und Sie erhalten möglicherweise eine Fehlermeldung zum Format (Abschnitt muss unter anderem Abschnitt liegen ...)

1
M Hall

Ich hatte das gleiche Problem mit einer Azure Web App. Beim lokalen Debuggen wurden von Ajax-Aufrufen zurückgegebene Fehlermeldungen (JSON) vollständig an den Browser zurückgegeben. Aber nach der Bereitstellung in der Web-App wurden die Nachrichten verschluckt und mir wurde eine Standard-500-Fehlermeldung zurückgegeben. Also musste ich den Wert existingResponse im Tag web.config PassThrough explizit auf httpErrors setzen.

0
Loul G.