it-swarm.com.de

Bereitstellungswebsite: 500 - Interner Serverfehler

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

Serverfehler

500 - Interner Serverfehler.

Es gibt ein Problem mit der gesuchten Ressource und kann nicht angezeigt werden.

Nach dem Fummeln mit der web.config bekam ich:

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

Wie kann ich das tatsächliche Problem hinter diesem Serverfehler sehen?

170
Jacob Jedryszek

Erstens, Sie müssen detaillierte Fehler anzeigen und anzeigen lassen Ihrer Webnachrichten, da dies eine allgemeine Nachricht ist, ohne dass Sie aus Sicherheitsgründen Informationen darüber erhalten, was wirklich passiert.

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

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

Ein IST 6

<configuration>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

Zu IIS 7

<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
        <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

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

Referenz: Aktivieren der benutzerdefinierten Windows-Fehlermeldung in Go Daddys help-Artikeln.

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

266
Aristos

Ich habe mir bei diesem Thema die Haare ausgezogen. Wenn Sie sicherstellen, dass der folgende Eintrag in der web.config-Stammdatei enthalten ist, wurde dies für mich behoben:

<configuration>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
</configuration>

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

23
Joshua Frank

Ich habe diesen Fehler "500 Interner Server" schließlich behoben, als ich die ASP.NET MVC 3.0-Anwendung auf einem gemeinsam genutzten Hosting godaddy.ocm implementierte.

irgendwie gab es Abweichungen bei der Version von DLL Dateien, auf die verwiesen wird, und der Version, die in der Datei web.config erwähnt wird.

Ich habe alle Optionen aus verschiedenen Foren ausprobiert. Nichts half, obwohl alle die gleiche Art von Korrektur vorgeschlagen hatten, aber irgendwie funktionierte es in meinem Szenario nicht. Nachdem ich zwei Tage lang den Kopf geknallt hatte, entschied ich mich, alle DLL Dateireferenzen zu löschen und web.cofig (lokale Kopie) aus dem Projekt zu löschen und die Anwendung den Fehler werfen und dann hinzufügen Die DLL Dateien werden nacheinander kopiert und lokal auf true gesetzt.

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 .. _. Daher hat meine aktuelle Anwendung jetzt ein neues Web. config, und dann kopierte ich die Verbindungszeichenfolge und andere Referenzen aus der lokalen Kopie von web.config, die ich gespeichert habe.

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

Es hat funktioniert und endlich wurde mein Problem gelöst.

9
Manish kumar

In meinem Fall habe ich einen Fehler in meine web.config-Datei eingefügt. Der Anwendungsschlüssel wurde irgendwie unter dem <appSettings> -Tag abgelegt. Ich frage mich jedoch, warum es keinen Konfigurationsfehler anzeigt. Der Fehler 500 ist zu allgemein, um das Problem zu untersuchen.

7
Van Thi

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

  <staticContent>
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
  </staticContent>
7
user3638709

Mein erster Versuch, eine sehr einfache Website mit nur HTML-Code zu veröffentlichen und auszuführen, erzeugte "Die Seite kann nicht angezeigt werden, da ein interner Serverfehler aufgetreten ist."

Das Problem: Ich hatte die Site in Visual Studio auf .NET 3.5 festgelegt (Rechtsklick auf Website-Projekt -> Eigenschaftenseiten -> Erstellen), hatte jedoch die Website in Azure als .NET 4.0 konfiguriert. Hoppla! Ich habe es in Azure auf 3.5 geändert und es hat funktioniert.

7
kenswdev

Vergewissern Sie sich zusätzlich zu den anderen Vorschlägen, dass Sie das existingResponse-Attribut des httpErrors-Knotens von Auto in Replace ändern oder diese Eigenschaft vollständig entfernen.

<httpErrors existingResponse="Replace" />
                              ^^^^^^^ not going to work with this here
4
ErikE

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

3
lapsus

Ich habe erkannt, dass die Berechtigungen für die Dateien und Ordner auf Ihrem Server ebenfalls von Bedeutung sind. Ich habe meine Dateien von einem Linux-Betriebssystem hochgeladen, und normalerweise sind die Berechtigungen zum Lesen und Schreiben begrenzt. Nach dem Hochladen sind die Berechtigungen jedoch dieselben wie auf dem lokalen Computer. 

Ich hatte den gleichen Fehler und ich habe gerade die Berechtigungen für den Ordner geändert, den ich hochgeladen hatte, und der Fehler war verschwunden.

Hoffe es hilft jemandem.

2
mark kasina

Wahrscheinlich ist Ihre web.config-Datei falsch oder es fehlt ein Tag. Ich habe mein Problem mit den korrekten Konfigurations-Tags für .NET 4 gelöst.

<system.web>
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.0">
        <assemblies>
            <add Assembly="System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add Assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add Assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add Assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add Assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add Assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add Assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add Assembly="System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
        <namespaces>
            <clear/>
            <add namespace="System"/>
            <add namespace="System.Collections"/>
            <add namespace="System.Collections.Specialized"/>
            <add namespace="System.Configuration"/>
            <add namespace="System.Text"/>
            <add namespace="System.Text.RegularExpressions"/>
            <add namespace="System.Web"/>
            <add namespace="System.Web.Caching"/>
            <add namespace="System.Web.SessionState"/>
            <add namespace="System.Web.Security"/>
            <add namespace="System.Web.Profile"/>
            <add namespace="System.Web.UI"/>
            <add namespace="System.Web.UI.WebControls"/>
            <add namespace="System.Web.UI.WebControls.WebParts"/>
            <add namespace="System.Web.UI.HtmlControls"/>
        </namespaces>
    </pages>
    <authentication mode="None"/>
</system.web>
2
Edu Pelais

500 Interner Fehler 
Windows-Hosting-Fehler 

Paddy-Hosting-Problem 

Ich bin mit demselben Problem konfrontiert, aber jetzt ist mein Problem gelöst. Verwenden Sie in diesem Hosting immer das es funktioniert.

Ich empfehle Ihnen auch, alle Änderungen vorzunehmen, die Sie an Ihrer web.config-Datei vornehmen möchten. Führen Sie dies bitte einzeln durch und testen Sie dasselbe auf der Live-Domäne, damit Sie das genaue Problem oder die Funktionen finden können, die Ihr Hosting-Provider nicht zulässt.

<?xml version="1.0"?>

<configuration>
    <system.web>
        <trust level="Medium"/>
        <compilation debug="true" targetFramework="4.5">
            <assemblies>
                <add Assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
        </compilation>

        <httpRuntime targetFramework="4.5" />
        <sessionState mode="InProc" cookieless="false" timeout="90" />
        <authentication mode="Forms">
            <forms loginUrl="default.aspx"  
                   defaultUrl="default.aspx"
                   protection="All"
                   cookieless="UseCookies"
                   slidingExpiration="false"
                   timeout="30"
                   name="aeon.corpusjuris.in" />
        </authentication>

        <customErrors 
            mode="Off" 
            defaultRedirect="errorpage.aspx">

            <error statusCode="403" redirect="errorpage.aspx"/>
            <error statusCode="404" redirect="errorpage.aspx"/>
        </customErrors>

        <!--  <httpModules>
                <add name="HTTPCaching" type="HTTPCaching"/>
            </httpModules>
        -->
    </system.web>

    <runtime>
        <performanceScenario value="HighDensityWebHosting"  />
    </runtime>

    <system.webServer>
        <!--  <modules runAllManagedModulesForAllRequests="true">
                <add name="HTTPCaching" type="HTTPCaching"/>
            </modules>
        -->

        <defaultDocument>
            <files>
                <clear />
                <add value="default.aspx" />
            </files>
        </defaultDocument>

        <httpErrors errorMode="Detailed" />
        <asp scriptErrorSentToBrowser="true"/>

        <staticContent>
            <clientCache cacheControlCustom="public"
                         cacheControlMaxAge="60:00:00"
                         cacheControlMode="UseMaxAge" />
        </staticContent>
    </system.webServer>

    <system.web.extensions>
         <scripting>
             <webServices>
                 <jsonSerialization maxJsonLength="90000000">
                 </jsonSerialization>
             </webServices>
         </scripting>
    </system.web.extensions>

</configuration>
1
Tushar T.

Serverfehler 500 - Interner Serverfehler . Es gibt ein Problem mit der gesuchten Ressource und kann nicht angezeigt werden. Goddady Hosting - Web - Wirtschaft - Windows Plesk

In meinem Fall ersetze ich diesen Code:

<configuration> 
  <system.webServer> 
    <httpErrors errorMode="Detailed" /> 
    <asp scriptErrorSentToBrowser="true"/> 
  </system.webServer> 
  <system.web> 
    <customErrors mode="Off"/>
    <compilation debug="true" targetFramework="4.0"/>
  </system.web> 
</configuration>

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

<httpModules></httpModules>

Es hat mein Problem gelöst.

1
ThanGio

Stellen Sie sicher, dass in Ihrem Konto IIS 7 verwendet wird. Weitere Informationen finden Sie unter Anpassen der IIS - Einstellungen Ihres Windows-Hosting-Kontos ..__ Befolgen Sie die Anweisungen unter Ändern des Pipeline-Modus unter Windows IIS 7 Konto. Wählen Sie Integrated Pipeline Mode (Integrierter Pipeline-Modus) aus. _ Setzen Sie im Bereich Projektverweise für die folgenden Assemblys die Option Lokal kopieren auf True:

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 setzen Sie dann Local kopieren auf True:

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

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

Stellen Sie über Remote Desktop eine Verbindung zu Ihrem Hosting-Server her. Öffnen Sie den Webbrowser von Ihrem Remote-Desktop aus und Sie erhalten eine detaillierte Beschreibung des Fehlers.

Sie müssen web.config nicht ändern oder Details an Dritte weitergeben.

0
Tomas Kubes

Für IIS 8

<system.web>
   <customErrors mode="Off" />
</system.web>
<system.webServer>
   <httpErrors existingResponse="PassThrough" errorMode="Detailed">
</system.webServer>

Deaktivieren von benutzerdefinierten IIS8-Fehlern durch Raul

0
Aviva

Bevor Sie die web.config-Datei ändern, würde ich überprüfen, ob die von Ihnen verwendete .NET Framework-Version exakt identisch ist (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 vorerst (Januar '16) mit ASP.Net 3.5 und 4.5.2 arbeitet. Um 4.5.2 mit Visual Studio verwenden zu können, muss es 2012 oder neuer sein. Wenn nicht 2015, müssen Sie das .NET Framework 4.5.2 Developer Package herunterladen und installieren.

Wenn es immer noch nicht funktioniert, sollte der nächste Schritt darin bestehen, detaillierte Fehlerberichte zu aktivieren, damit Sie die Fehlerbehebung durchführen können.

0
Sergio R

Wenn Sie einen benutzerdefinierten HttpHandler verwenden (d. H., IHttpModule implementieren), stellen Sie sicher, dass Sie Aufrufe der Error-Methode überprüfen.

Sie könnten Ihren Handler während des lokalen Debugging wie folgt mit der aktuellen HttpExceptions (die eine nützliche Message -Eigenschaft hat) werfen:

    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;
    }

Überprüfen Sie auch die InnerException der Ausnahme.

0
Protector one

500 interne Serverfehler können aus verschiedenen Gründen auftreten. Der erste Grund ist möglicherweise, dass die Datei web.config nicht ordnungsgemäß erstellt wurde. Dies bedeutet, dass Sie ein Tag in der Datei web.config verpasst haben. Zweitens kann dieser Fehler auf ein Code-Problem zurückzuführen sein. Um zu prüfen, welche Komponente der Webanwendung diesen Fehler verursacht, können Sie die Anwendungseinstellungen in der Datei web.config überprüfen. Die Details zum Lösen und Verfolgen von 500 internen Serverfehlern mit Diagramm finden Sie hier:

0
Manish

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

Klicken Sie mit der rechten Maustaste auf den betreffenden Anwendungspool, klicken Sie auf "Erweiterte Einstellungen" und scrollen Sie nach unten zuID- Der Wert wird wahrscheinlich auf ApplicationPoolIdentity gesetzt. Klicken Sie auf die Schaltfläche (..) und wählen Sie stattdessen NetworkService aus der Dropdown-Liste aus.

Stellen Sie außerdem sicher, dass Sie bei einer .NET 2.0-Anwendung nicht auf das 4.0-Framework in Ihrem App-Pool verweisen.

0
Steve Woods

Es kann vorkommen, dass eine Ihrer DLL-Assemblys möglicherweise nicht ordnungsgemäß auf dem Server registriert ist.

Sie können zum Beispiel erfolgreich eine C # Excel-Webanwendung auf Ihrem lokalen Computer ausführen, während Office installiert ist. Der Fehler 500 wird bei der Serverbereitstellung angezeigt, da auf dem Server keine Office-Suite installiert ist und Sie daher den Serverfehler erhalten.

0
user3745869