Ich möchte mit IIS Manager meine eigene asp.net-Website auf IIS hochladen. Aber wenn ich das mache, bekomme ich den folgenden Fehler
HTTP-Fehler 500.19 - Interner Serverfehler Auf die angeforderte Seite kann nicht zugegriffen werden, da die zugehörigen Konfigurationsdaten für die Seite ungültig sind
Modul II-Core -
Mitteilung Unknown
Handler noch nicht bestimmt
Fehlercode0x80070005
Config Error Konfigurationsdatei kann nicht aufgrund unzureichender Berechtigungen lesen
Config File\\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config
Ich habe viele Male nach einer Lösung für diesen Fehler gesucht, aber keine der Lösungen hat den Fehler behoben.
Ich habe ein Problem mit meinem IUSR
Konto. Ich kann dieses Konto nicht in den "Gruppen- oder Benutzernamen" in den Eigenschaften von sehen web.config
.
Was ist das Problem?
quelle
Web.config
ACLs der Datei von anderen Dateien im Verzeichnis unterscheiden und nicht von den übergeordneten Dateien erben . Ich habe die ACL-Vererbung aktiviert und alles wurde wieder normal.Antworten:
Die Meldung besagt, dass Ihre Konfigurationsdatei in irgendeiner Weise beschädigt ist. Es heißt jedoch auch, dass es nicht auf die Konfigurationsdatei zugreifen kann. Daher würde ich die ursprüngliche Meldung über Korruption / mangelnde Gültigkeit ignorieren, da dies höchstwahrscheinlich nur darauf zurückzuführen ist, dass die Datei aufgrund mangelnder Berechtigung nicht gelesen werden kann.
Der Grund, warum die Konfigurationsdatei nicht gelesen werden kann, liegt darin, dass der Prozess, auf dem Ihre Webanwendung ausgeführt wird, keine Berechtigung zum Zugriff auf die Datei / das Verzeichnis hat. Sie müssen dem Prozess, der Ihre Web-App ausführt, diese Berechtigungen erteilen.
Die Zugriffsrechte sollten ziemlich einfach sein, dh zumindest Lesen und, abhängig von Ihrer App, möglicherweise Schreiben .
Oben erwähnen Sie, dass IUSR usw. nicht in den Eigenschaften für enthalten sind
web.config
. Wenn Sie damit meinen, dass IUSR nicht auf der Registerkarte "Sicherheit" der Datei aufgeführt ist, ist dies eine gute Sache. Man möchte IUSR keine Erlaubnis für web.config geben . Die Rolle IUSR ist ein anonymer Internetnutzer.Auf die Datei web.config sollte nur über Ihre Anwendung zugegriffen werden können.
Das Problem ist, dass Sie nicht angegeben haben, welches Betriebssystem und welche IIS-Version Sie verwenden. Daher ist es schwierig zu sagen, welche Schritte zu unternehmen sind.
In IIS 7.5 tritt die von Ihnen angegebene Fehlermeldung wahrscheinlich auf, weil Ihrer ApplicationPoolIdentity die Berechtigungen nicht zugewiesen wurden. Ihre Webanwendung gehört zu einem Anwendungspool. Daher müssen Sie dem Betriebssystemkonto, unter dem der Anwendungspool Ihrer Webanwendung ausgeführt wird, die Berechtigungen erteilen. Oft ist dies so etwas wie NetworkService, aber Sie haben es möglicherweise so angepasst, dass es unter einem zweckgebundenen Konto ausgeführt wird. Ohne weitere Informationen ist es schwierig, Ihnen zu helfen.
quelle
Dies kann auch passieren, wenn die Site für die Verwendung des IIS URL Rewrite-Moduls konfiguriert ist, jedoch nicht installiert ist.
quelle
Endlich habe ich die Lösung für mein Problem bekommen. Das ASP.net-Konto wurde im IIS-Manager nicht angezeigt, da ich das Kontrollkästchen in IIS nicht aktiviert habe. Gehen Sie dazu in Windows 7 folgendermaßen vor:
Jetzt wird das ASP.net-Konto im IIS-Manager und standardmäßig das IIS-Konto angezeigt. Jetzt sollten Sie Ihre ASP.net-Website von "Mein Dokument" an einen anderen Ort verschieben, an dem der IIS Zugriff darauf hat (dh auf eine andere Partition auf Ihrem Computer). Durchsuchen Sie jetzt Ihre Website über den IIS-Manager und es sollte funktionieren.
Vielen Dank für Jeff Turner für die Lösung.
quelle
dism /NoRestart /Online /Enable-Feature /FeatureName:IIS-ASPNET
In meinem Fall hat die Installation des IIS URL Rewrite-Moduls das Problem behoben.
quelle
Ich hatte das gleiche Problem, hier ist die Lösung, die für mich funktioniert hat.
quelle
Für Entwickler von Visual Studio (VS): Wie von Harvey Darvey, Savage und Snives angedeutet, zeigt Ihre Anwendungshostkonfiguration möglicherweise auf den falschen physischen Pfad der Anwendung. Suchen Sie in /.vs/config/applicationhost.config nach virtualDirectory , um den physischen Pfad zu ändern, wenn er falsch ist.
Stellen Sie sicher, dass der physische Pfad korrekt ist:
quelle
Facepalm Alarm:
Sie erhalten diesen Fehler auch, wenn der Pfad zur Konfigurationsdatei falsch ist. Überprüfen Sie dies noch einmal, um sicherzustellen, dass der physische Pfad in IIS korrekt eingegeben wurde.
quelle
Sie müssen Berechtigungen für IIS_IUSRS auf dem lokalen Computer zuweisen (Sie müssen jedoch keine Berechtigungen für IUSR zuweisen, es funktioniert sogar, wenn Sie Berechtigungen explizit verweigern).
Um Berechtigungen zuzuweisen, klicken Sie einfach mit der rechten Maustaste auf den Ordner und auf der Registerkarte Sicherheit. Stellen Sie sicher, dass Sie die richtigen Berechtigungen erteilen. Wenn der Benutzer nicht aufgeführt ist, klicken Sie auf "HINZUFÜGEN" und geben Sie IIS_IUSRS ein (und stellen Sie sicher, dass unter "Domäne" die lokale Berechtigung vorhanden ist Computer ausgewählt ist, oder geben Sie in das Namensfeld YourLocalComputerName \ IIS_IUSRS) ein, und schon kann es losgehen.
Wenn Sie möchten, können Sie der Gruppe IIS_IUSRS keine Berechtigungen zuweisen, sondern stattdessen dem App-Pool zuweisen, der im Allgemeinen "IIS APPPOOL \ Name des App-Pools" lauten sollte .
quelle
Nur um mich einzumischen, erhielt ich die gleiche Art von Fehler und mein Problem war ganz einfach: Mir fehlte das .NET Core Hosting Bundle. Nachdem ich das Tool installiert und den Server neu gestartet hatte, war es in Ordnung.
Das Handbuch zum Hosten des asp.net-Kerns unter Windows finden Sie hier: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
quelle
Das gleiche passierte mit mir. Versuchen Sie dies zu überprüfen, indem Sie auf die Verbindungszeichenfolgen im rechten Bereich von IIS 7 doppelklicken, wenn Sie eine Website auswählen.
Es wird eine Fehlermeldung angezeigt (es liegt ein Problem mit der Webkonfigurationsdatei vor), da Sie Regeln zum Umschreiben von URLs verwendet haben und die entsprechende Komponente nicht installiert ist.
Installieren Sie "Microsoft URL Rewrite Module 2.0 für IIS 7" und dies sollte Ihr Problem beheben
quelle
Hier hat nichts für mich funktioniert, ich habe diesen Befehl jedoch in einer anderen SO-Antwort gefunden und mein Problem gelöst. Starten Sie einfach die Eingabeaufforderung als Administrator und führen Sie diesen Befehl aus:
Gutschrift: Benutzer Vicxx
quelle
Ich führe diese Schritte aus, um dieses Problem in Windows Server 2012, IIS 8.5, zu lösen. Sollte auch für andere Versionen funktionieren.
Web Server
.NET Extensibility 4.5
,ASP.NET 4.5
und beideISAPI
EinträgeNET 3.5
,.NET 4.5
,ASP.NET 4.5
Web Server
(alle),Management Tools
(IIS-Verwaltungskonsole und Verwaltungsdienst), Windowsquelle
Eine andere Möglichkeit, die dieses Problem für mich behoben hat:
IIS -> Berechtigungen bearbeiten -> Registerkarte "Sicherheit" -> "Benutzern" entsprechende Berechtigungen erteilen (oder IIS_IUSRS, abhängig von Ihrer Einrichtung)
quelle
Ehm. Ich habe meine Site / Dateien in einen anderen Ordner verschoben. Ohne den Pfad auf der IIS-Website zu ändern.
Sie können jetzt alle lachen.
quelle
Stellen Sie sicher, dass der Anwendungspool auf die richtige Version des Frameworks eingestellt ist. Sie müssen auch sicherstellen, dass Ihre Aspnet-, IIS_IUSRS- oder IUSR-Benutzer Lesezugriff auf das Anwendungsverzeichnis haben.
quelle
Installieren Sie das ASP.NET Core-Modul
Laden Sie das Installationsprogramm über den folgenden Link herunter: https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer
quelle
Dies passierte mir auch, als ich ein Standarddokument mit demselben Namen (wie index.aspx) sowohl in meiner web.config-Datei als auch auf meiner IIS-Website angegeben hatte. Am Ende habe ich den Eintrag von der IIS-Website entfernt und den Eintrag web.config wie folgt beibehalten:
quelle
Manchmal fehlen in dieser Nachricht möglicherweise Komponenten in Ihrer IIS-Umgebung, z. B. ein bestimmtes Framework oder eine IIS-Funktion wie die dynamische Komprimierung, anstatt Berechtigungen für web.config.
Wenn dies der Fall ist, kann eine Lösung darin bestehen, das Microsoft Platform Installer zu installieren und zu verwenden und die fehlenden Komponenten zu installieren. Möglicherweise müssen Sie einen Stich in das machen, was genau fehlt, da das Fehlerprotokoll und die Meldung Sie nicht informieren.
quelle
Versuchen Sie, die in diesem SO erwähnte Unterkomponente 'Anwendungsentwicklung' von IIS zu installieren
quelle
Sie müssen die Berechtigung für Ihren Website-Ordner festlegen oder sie in den wwwroot-Ordner kopieren :) - Wenn Sie die Berechtigung festlegen, haben Sie zwei Möglichkeiten: + Klicken Sie mit der rechten Maustaste auf Ihren Website-Ordner + oder klicken Sie mit der rechten Maustaste auf Ihre Website in IIS => wählen Sie Bearbeitungsberechtigung und fügen Sie eine hinzu Erlaubnis (IUSR - Standard iis Benutzer) Viel Glück ;-)
quelle
In meinem Fall zeigt der physische Pfad der Anwendung auf einen nicht vorhandenen Ordner in IIS.
quelle
Ich hatte das Problem, als ich meine web.config-Datei von prod kopierte und alles änderte, was nicht mit prod zu tun hatte, außer den Rewrite-Regeln, die in http S umgeschrieben wurden .
Diese Regeln wurden entfernt und liefen einwandfrei.
quelle
Ziemlich einfach, IIS hat keinen Zugriff auf Ihre web.config. Ich würde damit beginnen, die Site aus Ihrem Dokumentenordner zu entfernen. Stellen Sie sicher, dass es auch über R / W-Berechtigungen verfügt.
quelle
Ich hatte auch das ähnliche Problem und ich habe es behoben, indem ich einige Abschnitte in der Datei web.config kommentiert habe.
Das Projekt wurde zuvor in .Net 2.0 erstellt und bereitgestellt. Nach der Migration auf .Net 3.5 wurde die Ausnahme ausgelöst.
Beschlüsse:
Wenn Ihre Konfigurationsdatei "< sectionGroup name =" system.web.extensions > "enthält, kommentieren Sie sie und führen Sie sie aus, da dieser Abschnitt bereits unter Machine.config verfügbar ist.
quelle
Sie können diesen Fehler erhalten, wenn Sie einen Synaxfehler oder ein Problem in Ihrer web.config-Datei haben.
Für mich war es ein streunendes kaufmännisches Und in einer URL , die ich in den AppSettings verwendet habe.
quelle
Klicken Sie auf der IIS 7.5-Fehlerseite unten auf der Seite auf "Weitere Informationen anzeigen". In diesem Fall gelangen Sie zum folgenden Microsoft-Link:
http://support.microsoft.com/kb/942055
The 0x80070005 Der Fehlercode scheint mit Berechtigungen verbunden zu sein. Wenn Sie die Schritte in Auflösung 2, Methode 2, befolgen, um die richtigen Konten mit Berechtigungen für relevante Ordner zuzuweisen, sollte dies behoben werden. Ich habe 3 Tage lang nach einer Lösung gesucht, bis ich darauf gestoßen bin, und direkt danach gearbeitet.
quelle
Ich habe dieses Problem mit zugeordneten Laufwerken. IIS funktioniert nicht mit zugeordneten Laufwerken. Verwenden Sie einfach das nicht zugeordnete Laufwerk.
quelle
Durchsuchen Sie den Ordner, in dem sich Ihre Website befindet, und sehen Sie, dass Sie einen zusätzlichen Ordner "aspnet_client" erhalten. Löschen Sie diesen Ordner und er funktioniert für Sie.
Ich habe versucht, mein Problem ist gelöst.
Wenn es für Sie funktioniert, geben Sie es bitte als Antwort an, damit auch ein anderer Körper eine Lösung erhält.
quelle
Nichts davon hat bei mir funktioniert, aber ich habe endlich eine Lösung, die für mich funktioniert hat:
Entfernen Sie diese Zeile in web.config:
Entfernen Sie diese Zeile nicht
quelle
Fügen Sie der Sicherheit das lokale Konto IIS_IUSRS hinzu, und geben Sie ihnen Lese- / Ausführungszugriff. das funktioniert in meinem Fall.
quelle