it-swarm.com.de

Auf die angeforderte Seite kann nicht zugegriffen werden, da die zugehörigen Konfigurationsdaten für die Seite ungültig sind

Ich möchte meine eigene asp.net-Website auf IIS über IIS manager hochladen. Aber wenn ich das mache, erhalte ich den folgenden Fehler 

HTTP-Fehler 500.19 - Interner Serverfehler Die angeforderte Seite darf nicht .__ sein. zugegriffen, da die zugehörigen Konfigurationsdaten für die Seite .__ sind. ungültig

Module  IIS Web Core
Notification    Unknown
Handler Not yet determined
Error Code  0x80070005
Config Error    Cannot read configuration file due to insufficient permissions
Config File \\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config

Ich habe oft nach einer Lösung für diesen Fehler gesucht, aber keine der Lösungen hat den Fehler behoben.

Ich habe ein Problem mit dem IUSR-Konto. Ich kann dieses Konto nicht in den "Gruppen- oder Benutzernamen" in den Eigenschaften von web.config sehen.

Worin besteht das Problem?

417
Yasmeen

Die Nachricht besagt, dass Ihre Konfigurationsdatei in gewisser Weise beschädigt ist. Es sagt jedoch auch, dass es nicht wirklich auf die Konfigurationsdatei zugreifen kann. Daher würde ich die ursprüngliche Nachricht über Korruption/fehlende Gültigkeit ignorieren, da dies höchstwahrscheinlich nur der Effekt ist, dass die Datei aufgrund fehlender Autorisierung nicht gelesen werden kann.

Der Grund, warum die Konfigurationsdatei nicht gelesen werden kann, liegt darin, dass der Prozess, der Ihre Web-App ausführt, keine Berechtigung zum Zugriff auf die Datei/das Verzeichnis hat. Sie müssen also dem Prozess, der Ihre Web-App ausführt, diese Berechtigungen erteilen. 

Die Zugriffsrechte sollten ziemlich unkompliziert sein, d. H. Mindestens Read und, abhängig von Ihrer App, möglicherweise Write.

Oben erwähnen Sie IUSR usw., die nicht in den Eigenschaften für web.config enthalten sind. Wenn Sie damit meinen, dass IUSR nicht auf der Registerkarte Sicherheit der Datei aufgeführt ist, ist dies eine gute Sache. IUSR will web.config keine Erlaubnis geben. Die Rolle IUSR ist ein anonymer Internetbenutzer.

Die Datei web.config sollte only über Ihre Anwendung zugänglich sein.

Das Problem ist, dass Sie nicht gesagt haben, welches Betriebssystem und welche IIS -Version Sie verwenden. Es ist daher schwierig zu sagen, welche Schritte zu unternehmen sind.

Das heißt In IIS 7.5 tritt die Fehlermeldung, die Sie zitieren, wahrscheinlich auf, weil ApplicationPoolIdentity keine Berechtigungen zugewiesen wurden. Ihre Webanwendung gehört zu einem Anwendungspool. Daher müssen Sie die Berechtigungen für das Betriebssystemkonto erteilen, unter dem der Anwendungspool Ihrer Webanwendung ausgeführt wird. Dies ist häufig etwas wie NetworkService, aber Sie haben es möglicherweise angepasst, um unter einem bestimmten Konto ausgeführt zu werden. Ohne weitere Informationen ist es schwierig, Ihnen zu helfen.

150
intermension

Dies kann auch passieren, wenn die Site für die Verwendung des URL/Rewrite-Moduls IIS konfiguriert ist, aber nicht installiert ist.

561
bkaid

Endlich , ich habe die Lösung für mein Problem. Das ASP.net-Konto wurde nicht im Manager IIS angezeigt, da ich das Kontrollkästchen in IIS nicht aktiviert habe. Führen Sie dazu in Windows 7 die folgenden Schritte aus:

  1. Öffnen Sie die Systemsteuerung
  2. Klicken Sie auf "Programm" -Link (keine Programme deinstallieren)
  3. Klicken Sie auf den Link "Windows-Funktionen ein-/ausschalten"
  4. Suchen Sie im Popup-Fenster nach "Internet Information Services IIS", und erweitern Sie den Knoten
  5. Erweitern Sie den Knoten "World Wide Web Service"
  6. Erweitern Sie den Knoten "Anwendungsentwicklungsfunktionen"
  7. Aktivieren Sie das Kontrollkästchen "ASP.NET".
  8. Klicken Sie dann auf die Schaltfläche OK

Jetzt wird das ASP.net-Konto im Manager IIS angezeigt. Standardmäßig wird das Konto IIS angezeigt. Nun sollten Sie Ihre ASP.net-Website von "my document" an einen anderen Ort verschieben, an dem IIS die Berechtigung hat, darauf zuzugreifen (d. H. Auf eine andere Partition Ihres Computers). Durchsuchen Sie jetzt Ihre Website über den IIS - Manager, und es sollte funktionieren. 

Vielen Dank für Jeff Turner für die Lösung.

395
Yasmeen

In meinem Fall konnte durch das Installieren IIS URL Rewrite das Problem behoben werden.

49
Salim

Ich hatte das gleiche Problem, hier ist die Lösung, die für mich funktioniert hat.

  1. IIS-Manager
  2. Rechts auf diese Website geklickt
  3. Berechtigungen bearbeiten
  4. Benutzer 'IIS_IUSRS' wurde auf der Registerkarte Sicherheit hinzugefügt
  5. Vollständige Berechtigungen für Benutzer 'IIS_IUSRS' erteilt
  6. Legen Sie die Identität des Anwendungspools auf 'ApplicationPoolIdentity' fest.
40
Sukhdev Zala

Für Visual Studio (VS) -Entwickler: Wie von Harvey Darvey, Savage und Snives angedeutet, weist Ihr Anwendungshostkonfiguration möglicherweise auf den falschen physischen Pfad der Anwendung. Suchen Sie in /.vs/config/applicationhost.config nach virtualDirectory, um den physicalPath zu ändern, falls er nicht korrekt ist.

 enter image description here

Stellen Sie sicher, dass physicalPath korrekt ist:

 enter image description here

34
Michael

Facepalm-Alarm:

Sie erhalten diese Fehlermeldung auch, wenn der Pfad zur Konfigurationsdatei falsch ist. Überprüfen Sie es noch einmal, um sicherzustellen, dass der physische Pfad in IIS korrekt eingegeben wurde.

22
Jon Crowell

Sie müssen Berechtigungen für IIS_IUSRS auf dem lokalen Computer zuweisen (aber Sie müssen IUSR nicht zuweisen, es funktioniert sogar, wenn Sie Berechtigungen explizit ablehnen).

Um Berechtigungen zuzuweisen, klicken Sie 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 Adresse angegeben ist Computer ausgewählt ist, oder geben Sie in das Namensfeld YourLocalComputerName \ IIS_IUSRS) ein. Dann können Sie loslegen.

Wenn Sie möchten, können Sie der Gruppe IIS_IUSRS keine Berechtigungen zuweisen, sondern dem App-Pool, der im Allgemeinen "IIS APPPOOL \ Name des App-Pools " sein sollte.

18
yoel halb

Dasselbe ist bei mir passiert. Versuchen Sie dies zu überprüfen, indem Sie im rechten Bereich von IIS 7 auf die Verbindungszeichenfolgen doppelklicken, wenn Sie eine Website auswählen.

Es wird ein Fehler ausgegeben (dass ein Problem mit der Web-Konfigurationsdatei vorliegt), da Sie URL-Überschreibungsregeln verwendet haben und die entsprechende Komponente nicht installiert ist.

Installieren Sie „Microsoft URL Rewrite Module 2.0 für IIS 7“ “, um das Problem zu beheben 

9
Tanuj Gulati

Hier hat nichts funktioniert, ich habe diesen Befehl in einer anderen SO Antwort gefunden und mein Problem gelöst. Starten Sie einfach den Befehl Eingabeaufforderung als Administrator und führen Sie den folgenden Befehl aus:

run->cmd

run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"

Gutschrift: Benutzer Vicxx 

8
Celt

Eine andere Möglichkeit, die dieses Problem für mich behoben hat:

IIS -> Bearbeitungsberechtigungen -> Registerkarte "Sicherheit" -> Erteilen Sie "Benutzern" entsprechende Berechtigungen (oder IIS_IUSRS, abhängig von Ihrem Setup).

6
valen

Führen Sie die folgenden Schritte aus, um dieses Problem zu lösen inWindows Server 2012, IIS 8.5. Sollte auch für andere Versionen funktionieren.

  1. Gehen Sie zum Server-Manager und klicken Sie auf Rollen und Funktionen hinzufügen
  2. Im Rollenbereich wählen Sie: Web Server
  3. Wählen Sie im Sicherheitsbereich alles aus (Ich habe Digest, IP-Einschränkungen und URL-Autorisierung ausgeschlossen, da wir sie nicht verwenden.)
  4. Wählen Sie unter Anwendungsentwicklung .NET Extensibility 4.5, ASP.NET 4.5 und beide ISAPI-Einträge
  5. Wählen Sie im Funktionsbereich Folgendes aus: NET 3.5, .NET 4.5, ASP.NET 4.5
  6. Wählen Sie im Webserver-Abschnitt Folgendes aus: Web Server (alle), Management Tools (IIS-Verwaltungskonsole und Verwaltungsdienst), Windows 
5

Stellen Sie sicher, dass der Anwendungspool auf die richtige Version des Frameworks eingestellt ist. Sie müssen außerdem sicherstellen, dass Ihre Benutzer von aspnet, IIS_IUSRS oder IUSR Lesezugriff auf das Verzeichnis der Anwendung haben.

5
Jeff Turner

Ehm. Ich hatte meine Site/Dateien in einen anderen Ordner verschoben. Ohne den Pfad in der IIS Website zu ändern.

Sie können jetzt alle lachen.

Dies passierte auch mir, als ich ein Standarddokument mit demselben Namen (wie index.aspx) in meiner web.config-Datei UND meiner IIS Website angegeben hatte. Am Ende entfernte ich den Eintrag von der Website IIS = und behielt den Eintrag web.config wie folgt bei:

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...
4
theJerm

In dieser Nachricht können manchmal Komponenten in Ihrer IIS - Umgebung fehlen, z. ein bestimmtes Framework oder eine IIS - Funktion wie dynamische Komprimierung statt Berechtigungen für web.config. 

Wenn dies der Fall ist, können Sie das Microsoft Platform Installer installieren und verwenden und die fehlenden Komponenten installieren. Möglicherweise müssen Sie feststellen, was genau fehlt, da das Fehlerprotokoll und die Fehlermeldung Ihnen nichts mitteilen.

4
eagle779

In meinem Fall verweist der physische Pfad der Anwendung auf einen nicht vorhandenen Ordner in IIS.

application setting screenshot

3
chengbo

Ich hatte das Problem, als ich meine web.config-Datei von prod herunterkopierte. Alles, was nicht auf prod bezogen war, wurde geändert, mit Ausnahme der Rewrite-Regeln, die in httpSumgeschrieben wurden.

Diese Regeln wurden entfernt und gut ausgeführt.

3
DanO

Sie müssen die Berechtigung für Ihren Website-Ordner festlegen oder in den Ordner "wwwroot" kopieren:) - Wenn die Berechtigung festgelegt ist, haben Sie 2 Wege: + Klicken Sie mit der rechten Maustaste auf den Ordner Ihrer Website + Oder klicken Sie mit der rechten Maustaste auf Ihre Website in IIS => Wählen Sie Berechtigung bearbeiten und Berechtigung hinzufügen aus (IUSR - Standardbenutzer) Viel Glück ;-)

3
SownRocker

wenn dieses Problem bei zugeordneten Laufwerken auftritt, funktioniert IIS nicht bei zugeordneten Laufwerken. Verwenden Sie einfach das nicht zugeordnete Laufwerk.

2
Rob Sedgwick

Ich hatte auch ein ähnliches Problem und ich habe es behoben, indem ich einige Abschnitte in der Datei web.config kommentierte. 

Das Projekt wurde zuvor in .NET 2.0 erstellt und implementiert. Nach der Migration zu .NET 3.5 wurde die Ausnahme ausgelöst.

Auflösungen:

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.

2
Munna Singh

Durchsuchen Sie den Ordner, in dem Ihre Website gespeichert ist, und sehen Sie, dass Sie einen zusätzlichen Ordner "aspnet_client" erhalten, der diesen Ordner löscht, und es funktioniert für Sie.

Ich habe versucht dieses Problem zu lösen.

Wenn es für Sie funktioniert, machen Sie es bitte als Antwort, damit auch andere Personen eine Lösung bekommen.

2
Rahul Sonone

Sie können diesen Fehler erhalten, wenn Sie einen Syntaxfehler oder ein Problem in Ihrer Datei web.config haben.

Für mich war es ein verirrtes Ampersand in einer URL , das ich in den AppSettings verwendete.

2
Tim P.

Ganz einfach: IIS hat keinen Zugriff auf Ihre web.config. Ich würde damit beginnen, die Site aus Ihrem Dokumentenordner zu nehmen. Vergewissern Sie sich, dass es auch über rechte Rechte verfügt.

2
OnResolve

Nur um einzusteigen, erhielt ich die gleiche Art von Fehler und mein Problem war ziemlich einfach: Ich habe das .NET Core Hosting Bundle vermisst. Nachdem ich das Tool installiert und den Server neu gestartet hatte, war alles in Ordnung. 

Das Handbuch zum Host asp.net core unter Windows finden Sie hier: https://docs.Microsoft.com/en-us/aspnet/core/Host-and-deploy/iis/?view=aspnetcore-2.2

1
JS_Diver

In meinem Fall wird die anonymeAuthentication-Eigenschaft nur kommentiert (oder gelöscht):

 <security>
     <authentication>
         <!--<anonymousAuthentication enabled="true" />-->
     </authentication>
 </security>
1
Omar Vargas

In meinem Fall muss configSections in der Konfiguration ganz oben stehen

<configuration>
<configSections>
...
</configSections>
<othersetting>
</othersetting>
.....
1
Grey Wolf

Nichts davon hat für mich funktioniert, aber ich habe endlich eine Lösung, die für mich funktioniert:

entferne diese Zeile in web.config:

<compilation debug="true" targetFramework="4.5"/>

diese Zeile nicht entfernen

<compilation debug="true"/>
1
Luca Steeb

Für mich erhielt ich die neuesten Informationen aus der Quellcodeverwaltung und dies passierte.

Der virtualDirectory-Pfad der Datei applicationhost.config unterschied sich von meinem Computer.

Ich habe meine eigene Kopie wiederhergestellt und es funktioniert. Ich verwende IIS express.

 enter image description here

1
Harvey Darvey

Auf der IIS 7.5-Fehlerseite klicken Sie unten auf der Seite auf "Weitere Informationen anzeigen". In diesem Fall gelangen Sie zu folgendem Microsoft-Link:

http://support.Microsoft.com/kb/942055

Der Fehlercode 0x80070005 scheint auf Berechtigungen bezogen zu sein. Wenn Sie die Schritte in Lösung 2, Methode 2 und die richtigen Konten mit Berechtigungen für relevante Ordner zuweisen, sollte dies behoben werden direkt nach.

1
kbbucks

Am Ende habe ich das Problem gelöst, indem ich den obj-Ordner meiner Webanwendung gelöscht habe. Nach dem Neuaufbau der Lösung war das Problem behoben.

1
Farshid

Fügen Sie der Sicherheit das lokale Konto IIS_IUSRS hinzu, und erweitern Sie das Lese-/Ausführungsrecht. das funktioniert in meinem Fall.

1
user3534355

Nach einem Server-Absturz wurde eine Site gestartet, die den Fehler "HTTP 500.19 0x80070005 Fehler - Konfigurationsdatei web.config kann nicht lesen" anzeigt. Normalerweise handelt es sich um Berechtigungen oder die anonyme Benutzerkonfiguration, die jedoch ordnungsgemäß festgelegt wurden und sich nicht geändert haben. Der Verdacht, dass etwas in der IIS - Metabasis (oder in der in% windir%\system32\inetsrv\config\applicationHost.config seit IIS7) beschädigt wurde, konnte ich durch das Löschen der Site in IIS und erstellen Sie es neu.

0
Snives

Installieren Sie die Unterkomponente "Application Development" von IIS. 

0
IsaacBok

Ich habe diesen bizarren Fehler erhalten, nachdem ich Werte im web.config unter folgendem Pfad angegeben habe system.webServer\security\authentication

Wir bevorzugen es zu steuern, wie IIS mit web.config konfiguriert wird, da IIS ein schreckliches Produkt ist und mit anderen Methoden schwer zu konfigurieren ist.

Das Problem war, dass IIS seine Berechtigung durch das Sperren von Teilen der Konfiguration an externe Meddler stempelt.

Die Authentifizierungskonfiguration kann mithilfe des Feature-Delegierungs-Applets auf der Ebene IIS Server entsperrt werden, wobei Lesen/Schreiben festgelegt wird.

Natürlich müssen wir, bevor wir die Konfiguration von IIS Auth-Typen automatisieren müssten, jetzt die Entriegelung automatisieren. Habe ich schon erwähnt IIS ist ein schreckliches Produkt?

0
Luke Puplett

In meinem Fall habe ich Visual Studio nur im Administratormodus ausgeführt. 

0
Daniel

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

0
MrNams

Ich habe meine web.config-Datei geändert, um den tatsächlichen Pfad als einen Verwandten anzugeben.

<httpPlatform processPath="F:\Projects\.....
instead of 
<httpPlatform processPath="..\approot\web.cmd"
0
ANIL MANE

Ändern Sie einfach den Namespace von [WebService (Namespace = " http://tempuri.org/ ")] in 

http://Microsoft.com/webservices/

Ich habe mein Problem mit dieser Lösung gelöst

0
ComEngineer

Überprüfen Sie den Error/HResult-Code und befolgen Sie diese Anleitung:

0x80070005

Dieses Problem tritt aus einem der folgenden Gründe auf:

  • Sie verwenden IIS 7.0 auf einem Computer, auf dem Windows Vista ausgeführt wird. Darüber hinaus konfigurieren Sie die Website für die Verwendung der UNC-Passthrough-Authentifizierung für den Zugriff auf eine Remote-UNC-Freigabe (UNC).

Die Gruppe IIS_IUSRS verfügt nicht über die entsprechenden Berechtigungen für die Datei ApplicationHost.config, für die Datei Web.config oder für die virtuellen/Anwendungsverzeichnisse von IIS.

Lösung

Methode 1

Konfigurieren Sie die Website nicht für die Verwendung der UNC-Passthrough-Authentifizierung für den Zugriff auf die Remote-UNC-Freigabe. Geben Sie stattdessen ein Benutzerkonto an, das über die erforderlichen Berechtigungen für den Zugriff auf die Remote-UNC-Freigabe verfügt.

Methode 2 (am wahrscheinlichsten)

Erteilen Sie der Gruppe IIS_IUSRS die Berechtigung Lesen für die ApplicationHost.config-Datei oder für die Web.config-Datei.

In einfachen Worten müssen Sie also:

  1. Öffnen Sie Eigenschaften des Ordners, der Ihr gemeldetes Konfigurationsdatei enthält (z. B. Web.config).
  2. In Sicherheit Tab, Bearbeiten ... und Hinzufügen ...: IIS_IUSRS und bestätigen Sie .
0
kenorb

Ich habe diesen Fehler erhalten, als ich mein Projekt mit Visual Studio 2017 von meinem lokalen Computer aus ausführte

Keine dieser Lösungen hat für mich funktioniert. Am Ende des Tages funktionierte das folgende Problem für mich:

  1. Klicken Sie mit der rechten Maustaste auf das Projekt -> Eigenschaften -> Web -> Projekt-URL
  2. Im Textfeld Projekt-URL habe ich meine Portnummer um eins erhöht und dann auf die Schaltfläche Virtuelles Verzeichnis erstellen geklickt.
  3. Speichern Sie Ihre Änderungen und führen Sie das Projekt erneut aus.
0
MartinS

In meinem Fall habe ich den Anwendungspool mit .NET Framework 2.0 ausgewählt und die 32-Bit-Anwendung aktiviert. Ich hatte die Anwendung .NET Framework 2.0.

Ich bekomme die Fehlermeldung "Es wurde versucht, ein Programm mit einem falschen Format zu laden" bei einem SQL Server-Replikationsprojekt .

0
Neshta
0
Alireza

Öffnen Sie Ihren Ordner mit dem Inhalt Ihres Projekts mit dem Windows Explorer. Klicken Sie mit der rechten Maustaste auf den Ordner und fügen Sie die Rechte für den Benutzer USER hinzu. 

0