Bereitstellen der Website: 500 – Interner Servererrors

Ich versuche, eine ASP.NET-Anwendung bereitzustellen. Ich habe die Site in IIS bereitgestellt, aber wenn ich sie mit dem Browser besuche, zeigt sie mir Folgendes:

Servererrors

500 – Interner Servererrors.

Es gibt ein Problem mit der Ressource, nach der Sie suchen, und sie kann nicht angezeigt werden.

Nachdem ich mit der web.config herumgespielt habe, bekomme ich jetzt:

Die Seite kann nicht angezeigt werden, da ein interner Servererrors aufgetreten ist.

Wie kann ich das eigentliche Problem hinter diesem Servererrors sehen?

Zuerst müssen Sie detaillierte Fehler Ihrer Webnachrichten aktivieren und sehen , da dies eine allgemeine Nachricht ist, ohne Informationen darüber zu geben, was wirklich aus Sicherheitsgründen geschieht.

Mit dem detaillierten Fehler können Sie das eigentliche Problem hier finden.

Wenn Sie den Browser auf dem Server ausführen können , erhalten Sie außerdem Details zu dem Fehler, da der Server erkennt, dass Sie lokal sind und es Ihnen anzeigt. Oder wenn Sie das Protokoll des Servers mithilfe der Ereignisanzeige lesen können , sehen Sie auch die Details Ihres Fehlers.

Auf IIS 6

      

Auf IIS 7

           

Hinweis: Sie können vermeiden, dass Debug = true ist . Sie müssen nur die benutzerdefinierten Fehler für eine Weile schließen und die detaillierte Fehlerseite abrufen.

Referenz: Aktivieren der benutzerdefinierten Windows-Fehlermeldungen in Go Daddys Hilfeartikeln.

Dies kann auch hilfreich sein: So aktivieren Sie die detaillierten Fehlermeldungen (von IIS).

Ich zog mir die Haare über dieses Problem. web.config Sie sicher, dass der folgende Eintrag in der web.config für mich festgelegt wurde:

      

Denken Sie daran, dass Sie dies zu den vorhandenen XML- Elementen hinzufügen müssen, sofern sie bereits vorhanden sind. Sie können nicht einfach am Ende der Datei hinzufügen, da Sie nicht mehrere Kopien eines Elements haben können.

Ich habe diesen Fehler “500 Interner Server” schließlich getriggers, als ich die ASP.NET MVC 3.0-Anwendung auf godaddy.ocm Shared Hosting bereitgestellt habe.

Irgendwie gab es Diskrepanzen bezüglich der Version der DLL-Dateien, auf die verwiesen wurde, und der Version, die in der Datei web.config .

Ich habe alle in verschiedenen Foren genannten Optionen ausprobiert. Nichts half, obwohl jeder die gleiche Art von Fix vorgeschlagen hat, aber irgendwie hat es in meinem Szenario nicht funktioniert. Endlich nachdem ich meinen Kopf zwei Tage lang geschlagen hatte. Ich beschloss, alle DLL-Dateiverweis zu löschen und web.cofig (eine lokale Kopie erstellen) aus dem Projekt zu löschen, und die Anwendung den Fehler zu casting und dann die DLL-Dateien einzeln hinzuzufügen, Kopie zu Local = True.

Nachdem alle DLL-Dateien hinzugefügt wurden, erstellte ich eine neue ASP.NET MVC-Anwendung und kopierte die web.config der neuen Anwendung in meine eigentliche Anwendung. Also hat meine eigentliche Anwendung jetzt eine neue web.config, und dann habe ich die Verbindungszeichenfolge und andere Referenzen aus der lokalen Kopie von web.config kopiert, die ich gespeichert habe.

Ich habe gerade die Anwendung kompiliert und veröffentlicht in einem lokalen Ordner und FTP den veröffentlichten Ordner zu goDaddy.

Es hat funktioniert und mein Problem wurde getriggers.

In meinem Fall habe ich einen Fehler in meine web.config Datei gemacht. Der Anwendungsschlüssel wurde irgendwie unter das -Tag gesetzt. Aber ich frage mich, warum es keinen Konfigurationserrors anzeigt. Der Fehler 500 ist zu allgemein, um das Problem zu untersuchen.

Mein erster Versuch, eine sehr einfache Website zu veröffentlichen und auszuführen, die nur HTML liefert, “Die Seite kann nicht angezeigt werden, weil ein interner Servererrors aufgetreten ist.”

Das Problem: Ich hatte die Site in Visual Studio auf .NET 3.5 eingestellt (Rechtsklick auf das Website-Projekt -> Eigenschaftsseiten -> Build), aber die Web-Site in Azure als .NET 4.0 konfiguriert. Hoppla! Ich habe es in Azure auf 3,5 geändert und es hat funktioniert.

Für mich war der folgende Code in der web.config der Täter. Als ich es entfernte, funktionierte die Website gut.

     

httpErrors zusätzlich zu den anderen Vorschlägen sicher, dass das Attribut existingResponse des httpErrors Knotens in Auto durch Replace , oder entfernen Sie diese Eigenschaft vollständig.

  ^^^^^^^ not going to work with this here 

IIS meldet auch Statuscode 500 ohne Ereignisprotokollhinweise, wenn nicht genügend Berechtigungen für das physische Basisverzeichnis vorliegen (dh IIS_IUSRS hat keinen Zugriff).

Wahrscheinlich ist Ihre Datei web.config falsch oder es fehlt ein Tag. Ich habe mein Problem mit den richtigen Config-Tags für .NET 4 getriggers.

                                     

Ich habe festgestellt, dass auch die Berechtigungen für die Dateien und Ordner auf Ihrem Server wichtig sind. Ich habe meine Dateien von einem Linux-Betriebssystem hochgeladen und in der Regel sind die Berechtigungen zum Lesen und Schreiben beschränkt. Beim Hochladen sind die Berechtigungen immer noch dieselben wie auf dem lokalen Rechner.

Ich hatte den gleichen Fehler und ich änderte gerade die Erlaubnis für den Ordner, den ich hochgeladen hatte und der Fehler war weg.

Hoffe es hilft jemandem.

500 interne Servererrors können aus verschiedenen Gründen auftreten. Der erste Grund könnte sein, dass die Datei web.config nicht ordnungsgemäß erstellt wurde, dh Sie haben einige Tags in der Datei web.config verpasst. Zweitens kann dieser Fehler auf ein Codeproblem zurückzuführen sein. Um zu überprüfen, welche Komponente der Webanwendung diesen Fehler verursacht, können Sie die Einstellung für die Anwendung in der Datei web.config überprüfen. Das Detail zum Lösen und Verfolgen von 500 internen Servererrorsn mit Diagramm finden Sie hier:

Lösen Sie 500 interne Server von IIS.

Servererrors 500 – Interner Servererrors. Es gibt ein Problem mit der Ressource, nach der Sie suchen, und sie kann nicht angezeigt werden. Mein Gott. Hosting – Web – Wirtschaft – Windows Plesk

In meinem Fall ersetze ich diesen Code:

           

Dann ändern Sie Framework 3.5 in Framework 4. Es zeigt meinen detaillierten Fehler. Ich lösche Code in:

  

Es hat mein Problem getriggers.

500 Interner Fehler
Windows-Hostingerrors

Godaddy Hosting-Problem

Ich habe das gleiche Problem, aber jetzt ist mein Problem getriggers worden. Verwenden Sie immer in diesem Hosting funktioniert es.

Ich empfehle Ihnen auch, alle Änderungen, die Sie in Ihrer Datei web.config vornehmen möchten, zu tun. Bitte tun Sie es nacheinander und testen Sie dasselbe in der Live-Domain, damit Sie das genaue Problem oder die functionen finden, die Ihr Hosting-Provider Ihnen nicht erlaubt.

 < ?xml version="1.0"?>                                              

Stellen Sie sicher, dass Ihr Konto IIS 7 verwendet. Weitere Informationen finden Sie unter Anpassen der IIS-Einstellungen auf Ihrem Windows-Hostingkonto. Befolgen Sie die statementen unter Ändern des Pipeline-Modus auf Ihrem Windows IIS 7-Hosting-Konto. Wählen Sie den integrierten Pipeline-Modus. Legen Sie in Ihrem Projektreferenzabschnitt Lokale Kopie für folgende Assembly auf True fest:

 System.Web.Abstractions System.Web.Helpers System.Web.Routing System.Web.Mvc System.Web.WebPages 

Fügen Sie Ihrem Projekt die folgenden Assemblys hinzu, und legen Sie anschließend Local Copy auf True fest:

 Microsoft.Web.Infrastructure System.Web.Razor System.Web.WebPages.Deployment System.Web.WebPages.Razor Publish your application. 

Manchmal kann der Grund dafür sein, dass eine Ihrer DLL-Assemblys nicht korrekt auf dem Server registriert ist.

Beispielsweise können Sie erfolgreich eine C # Excel-Webanwendung auf Ihrem lokalen Computer mit installiertem Office ausführen, während der 500-Fehler bei der Serverbereitstellung auftritt, da auf dem Server keine Office-Suite installiert ist und Sie daher den Servererrors erhalten.

Für diejenigen, die diese Möglichkeit haben (VPS-Hosting nicht Web-Hosting):

Verbinden Sie sich über Remote Desktop mit Ihrem Hosting-Server. Öffnen Sie den Webbrowser von Ihrem Remote-Desktop aus, und Sie werden die Detailbeschreibung des Fehlers sehen.

Sie müssen die Datei “web.config” nicht ändern und keine Informationen für andere Personen verfügbar machen.

Wenn Sie einen benutzerdefinierten HttpHandler verwenden (dh IHttpModule implementieren), stellen Sie sicher, dass Sie Aufrufe seiner Error Methode IHttpModule .

Sie könnten veranlassen, dass Ihr Handler beim lokalen Debugging die tatsächlichen HttpExceptions (die eine nützliche Message Eigenschaft haben) wie HttpExceptions :

  public void Error(object sender, EventArgs e) { if (!HttpContext.Current.Request.IsLocal) return; var ex = ((HttpApplication)sender).Server.GetLastError(); if (ex.GetType() == typeof(HttpException)) throw ex; } 

InnerException außerdem sicher, dass die InnerException der Exception InnerException .

Wenn Sie IIS 8.5 verwenden, müssen Sie möglicherweise die ApplicationPool ID-Einstellung von ApplicationPoolId zu NetworkService ändern

Klicken Sie mit der rechten Maustaste auf den betreffenden Anwendungspool, klicken Sie auf “Erweiterte Einstellungen” und scrollen Sie dann nach unten zu ” ID” – er wird wahrscheinlich auf ” ApplicationPoolIdentity” gesetzt . Klicken Sie auf die Schaltfläche (..) und wählen Sie stattdessen NetworkService aus der Dropdown-Liste.

Stellen Sie außerdem sicher, dass, wenn es sich um eine .NET 2.0-Anwendung handelt, Sie das 4.0-Framework in Ihrem App Pool nicht referenzieren.

Für IIS 8

       

Deaktivieren Sie benutzerdefinierte IIS8-Fehler von Raul

Bevor web.config Datei web.config , würde ich überprüfen, ob die von Ihnen verwendete .NET Framework Version genau (ich meine es 4.5! = 4.5.2) im Vergleich zu Ihren GoDaddy Einstellungen (ASP.Net-Einstellungen in Ihrem Plesk panel ). Das sollte Ihre web.config-Datei automatisch in das richtige Framework ändern.

Beachten Sie auch, dass GoDaddy jetzt (Januar ’16) mit ASP.Net 3.5 und 4.5.2 . Um 4.5.2 mit Visual Studio zu verwenden, muss es 2012 oder neuer sein, und wenn nicht 2015, müssen Sie das .NET Framework 4.5.2 Developer Package herunterladen und installieren.

Wenn das immer noch nicht funktioniert, dann sollte Ihr nächster Schritt detaillierte Fehlerberichte ermöglichen, damit Sie es debuggen können.