it-swarm.com.de

Konfigurationsfehler: Dieser Konfigurationsabschnitt kann nicht unter diesem Pfad verwendet werden

Bei der Bereitstellung einer Site auf einem Server ist ein Fehler aufgetreten. Beim Versuch, die Homepage zu laden oder auf die Authentifizierung auf der neuen Site in IIS zuzugreifen, wird der Fehler angezeigt:

Konfigurationsfehler: Dieser Konfigurationsabschnitt kann nicht unter diesem Pfad verwendet werden. Dies geschieht, wenn der Abschnitt auf übergeordneter Ebene gesperrt ist. Sperren ist entweder standardmäßig (overrideModeDefault = "Deny") oder explizit durch ein .__ festgelegt. location-Tag mit overrideMode = "Deny" oder dem Legacy allowOverride = "false".

Weitere Details finden Sie hier in Szenario 7 entspricht meinem Hex-Fehlercode.

Die oben auf der verlinkten Site angegebene Lösung besteht darin, Allow für overrideModeDefault in dem in meinem Fehler erwähnten Abschnitt in der Datei applicationHost.config festzulegen. In meinem Fall unter Security in system.webServer. Wenn ich jedoch die applicationHost.config auf meinem lokalen Computer anschaue, auf dem die Site bereits ordnungsgemäß bereitgestellt ist, ist dieser Abschnitt auf Deny gesetzt.

Wenn diese Lösung korrekt ist, wie läuft meine lokale Instanz mit demselben web.config? Gemäß meinem applicationHost.config sollte dieser Abschnitt gesperrt sein, ist es aber nicht. Ich möchte die Datei applicationHost.config nicht ändern, da auf diesem Server viele andere Sites ausgeführt werden. Gibt es eine andere Lösung?

1571
Alex

Ich hatte das gleiche Problem. Ich kann mich nicht erinnern, wo ich es im Internet gefunden habe.

  • Klicken Sie auf "Start".
  • geben Sie im Suchfeld "Fensterfunktionen ein- oder ausschalten" ein.
  • klicken Sie im Funktionsfenster auf "Internetinformationsdienste".
  • Klicken Sie auf "World Wide Web Services".
  • Klicken Sie auf "Anwendungsentwicklungsfunktionen".
  • Überprüfen Sie die Funktionen. Ich habe alles außer CGI geprüft.

Übrigens, ich verwende Windows 7.

2970
chuck97224

Sie können auch den IIS Manager verwenden, um diese Einstellungen zu bearbeiten.

Pflege dieses Artikel IIS lernen :

Verwenden der Feature-Delegation aus dem Stamm von IIS:

Feature delegation icon in IIS Manager

Sie können dann die Lese-/Schreibberechtigungen auf Maschinenebene steuern. Andernfalls erhalten Sie die Fehler overrideMode = "Deny".

Example use of Feature Delegation

320
Overflew

Für Windows Server 2012 und IIS 8 ist das Verfahren ähnlich.

Web Server (IIS) und Application Server sollten installiert sein und Sie sollten auch die optionale Web Server (IIS) Support unter Application Server haben.

Windows Server 2012 and IIS 8 Requirements for MVC

169
ken

Wechseln Sie zu "C:\Windows\System32\inetsrv\config" (hier benötigen Sie Administratorrechte) Öffnen Sie applicationHost.config

Note: In IISExpress und Visual Studio 2015 wird die applicationHost.config in $(solutionDir).vs\config\applicationhost.config gespeichert. 

Suchen Sie den Abschnitt, der im Abschnitt "config source" der Fehlermeldungsseite angezeigt wurde. Für mich waren das typischerweise "Module" oder "Handler".

Ändern Sie das overrideModeDefault-Attribut in Allow.

Die ganze Linie sieht nun so aus:

<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

Nach dem Speichern der Datei wurde die Seite gut in meinem Browser geladen.

Warnung:Bearbeiten von applicationHost.config unter 64-Bit-Windows

130
Nime Cloud

Sie müssen Handler freischalten. Dies kann mit folgendem Befehl cmd erfolgen:

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers

Eine weitere Information für Personen, die diesen Fehler in IIS 8 erhalten haben, war in meinem Fall auf der Microsoft Server 2012-Plattform. Ich hatte einige Stunden damit verbracht, mit anderen Fehlern zu kämpfen, die nach der Ausführung von appcmd gesprudelt wurden. Am Ende konnte ich das Problem beheben, indem ich die Webserverrolle entfernte und erneut installierte. 

62
Gregor Primar

For Win 10 (Funktioniert wahrscheinlich auch mit anderen Windows-Versionen.)

1. Öffnen Sie "Windows-Funktionen ein- oder ausschalten" durch: WinKey + R => "optionale Funktionen" => OK

 enter image description here

  1. Aktivieren Sie diese Funktionen unter "Application Development Features".

 enter image description here

32

Als per meine Antwort auf diese ähnliche Frage ;

Entsperren Sie die entsprechenden Konfigurationseinstellungen IIS auf Serverebene wie folgt:

  1. Öffnen Sie IIS Manager.
  2. Wählen Sie den Server im Bereich Verbindungen aus
  3. Öffnen Sie Configuration Editor im Hauptfenster
  4. Wählen Sie in der Dropdown-Liste "Sektionen" die zu entsperrende Sektion aus, z. system.webServer> defaultPath
  5. Klicken Sie im rechten Fensterbereich auf Unlock Attribute
  6. Wiederholen Sie diesen Vorgang für alle anderen Einstellungen, die Sie entsperren müssen
  7. Neustart IIS (optional) - Wählen Sie den Server im Bereich Verbindungen aus und klicken Sie im Bereich Aktionen auf Neu starten
29
Chris

Ich musste diese beiden Befehle von und Prompt ausführen:

%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication

%windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication
27
Benji

Unter Windows Server 2012 mit IIS 8 habe ich dies durch Aktivieren der Funktion ASP.NET 4.5 gelöst:

enter image description here

und dann nach kens Antwort .

25
Kimi

Die beste Option ist, Application Settings von Custom Site Delegation zu ändern.
Öffnen Sie IIS und wählen Sie im Stammverzeichnis Feature Delegation und dann Application Settings aus. Wählen Sie in der rechten Seitenleiste Read/WriteStep #1 Step #2

18
Dr TJ

Das war der Trick für mich, für IIS 8 Windows Server 2012 R2 

Gehen Sie zu "Features einschalten"

Gehen Sie dann zu allen Standardeinstellungen, Next, Next, Next usw. 

Wählen Sie dann wie unten gezeigt aus  enter image description here

Setzen Sie dann IIS (optional) zurück, tun Sie es aber auf der sicheren Seite. 

 enter image description here

Dies ist eine zusätzliche Lösung, da es sich um ein generisches Problem handelt, bei dem jeder ein anderes Problem und somit eine andere Lösung hat. Prost!

14
Usman Younas

Um dies zu beheben, öffnen Sie die IIS Express applicationhost.config. Diese Datei wird unter C:\Users [Ihr Benutzername]\Documents\IISExpress\config\applicationhost.config gespeichert

Update für VS2015 +: Der Speicherort der Konfigurationsdatei lautet $ (solutionDir) .vs\config\applicationhost.config

Suchen Sie nach den folgenden Zeilen

<section name="windowsAuthentication" overrideModeDefault="Deny" />
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
<add name="WindowsAuthenticationModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="true" />

Ändern Sie diese Zeilen in

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />

Speichern Sie es und aktualisieren Sie die Asp.net-Seite.

13
Rao Adnan

Mit IIS Express und VS 2015 scheint es eine Kopie der Datei applicationHost.config unter $ (solutionDir) .vs\config\applicationhost.config zu geben, so dass Sie dort Änderungen vornehmen müssen. Siehe diesen Link: http://digitaldrummerj.me/iis-express-windows-authentication/

Stellen Sie sicher, dass diese Zeilen wie folgt geändert werden:

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />
12
PBMe_HikeIt

In meinem Fall war es auf dem Server unter ".NET Framework-Features" nicht "HTTP-Aktivierung" aktiviert. Für Windows Server 2012 lautete die Lösung, die für mich funktionierte:

Server-Manager -> Rollen und Features hinzufügen -> Features -> Stellen Sie sicher, dass unter .NET Framework der Version, die Sie verwenden möchten, "HTTP-Aktivierung" aktiviert ist.

11
Pavel Nemec

In unserem Fall auf IIS 8 haben wir festgestellt, dass der Fehler aufgetreten ist, als versucht wurde, "Authentifizierung" für eine Site anzuzeigen, wenn:

  1. Die als "Authentifizierung - Windows" = "Read Only" markierte Server-Funktionsdelegierung
  2. Die Site hatte eine web.config, die explizit auf die Windows-Authentifizierung verwies. z.B., 

Beim Markieren der Site Feature Delegation "Authentication - Windows" = "Read/Write" ist der Fehler behoben. Es scheint, dass die web.config mit der Funktion "Read Only" nicht einmal auf sie referenzieren darf, um sie zu deaktivieren, da dies offensichtlich einen Schreibvorgang darstellt.

 site web.config  IIS Manager - Server Feature Delegation

10
IronRod

Die PowerShell-Methode zum Aktivieren der Funktionen (Windows Server 2012 +) - Zuschneiden nach Bedarf

Install-WindowsFeature NET-Framework-Core
Install-WindowsFeature Web-Server -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-45-ASPNET -IncludeAllSubFeature
Install-WindowsFeature Application-Server -IncludeAllSubFeature
Install-WindowsFeature MSMQ -IncludeAllSubFeature
Install-WindowsFeature WAS -IncludeAllSubFeature
8
Chris S

Ich musste die SSL-Einstellungen in einem Unterordner ändern, als ich diese nette Nachricht erhielt. In meinem Fall hat mir die folgende Aktion geholfen.

Geöffnetes C:\Windows\System32\inetsrv\config\applicationHost.config

Und der Wert wurde von overrideModeDefault = "Deny" in "Allow" geändert.

<sectionGroup name="system.webServer">
 ...
    <sectionGroup name="security">
        <section name="access" overrideModeDefault="Allow" />
    </sectionGroup>
6
Stefan Michev

In meinem Fall war es etwas anderes.

Als ich die Projektmappe in eine neue Version von Visual Studio geladen habe, hat VS offenbar eine neue projektspezifische Datei applicationhost.config erstellt:

MySolutionDir\.vs\config\applicationhost.config

Es begann mit der Verwendung der Einstellungen aus der neuen Konfiguration, anstelle meiner bereits angepassten globalen IIS Express-Einstellungen .

In meinem Fall musste dies eingestellt werden. Natürlich könnte es etwas anderes für Sie sein:

<section name="ipSecurity" overrideModeDefault="Allow" />
4
Andrew

In meinem Fall habe ich diese Fehlermeldung erhalten, weil ich mit der falschen Konfigurationsdatei gearbeitet habe.

Ich habe das gemacht:

Configuration config = serverManager.GetWebConfiguration(websiteName);
ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime");
serverRuntimeSection["alternateHostName"] = hostname;

anstelle des korrekten Codes:

Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName);
serverRuntimeSection["alternateHostName"] = hostname;

mit anderen Worten, ich habe versucht, die web.config der Website anstelle der globalen Datei C:\Windows\System32\inetsrv\config\applicationHost.config zu verwenden, die einen Abschnitt (oder einen Abschnitt) für die Website hat. Die Einstellung, die ich ändern wollte, ist nur in der Datei applicationHost.config vorhanden.

4
Mark R

Der Fehler besagt, dass der Konfigurationsabschnitt auf der übergeordneten Ebene gesperrt ist. Es wird also nicht direkt eine Konfigurationsdatei sein, die das Problem lösen wird. Wir müssen die Hierarchie der Konfigurationsdateien durchgehen, um die Vererbung zu sehen .__ Überprüfen Sie den folgenden Link, um die Dateiehierarchie und -vererbung in IIS zu durchlaufen

https://msdn.Microsoft.com/de-de/library/ms178685.aspx

Sie müssen also in der folgenden Reihenfolge nach den App-Konfigurationseinstellungen suchen

  1. ApplicationHost.config in C: windows\system32\inetsrv\config. Ändern Sie das Attribut overrideModeDefault in Allow.
  2. ApplicationName.config oder web.config im Anwendungsverzeichnis 
  3. Web.config im Stammverzeichnis.
  4. Web.config in der jeweiligen Website (Mein Problem wurde an dieser Stelle gefunden).
  5. Web.config des Stammwebs (Serverkonfiguration)
  6. machine.config der Maschine (Roots web.config und machine.config finden Sie unter - systemroot\MicrosoftNET\Framework\versionNumber\CONFIG\Machine.config)

Gehen Sie sorgfältig alle diese Konfigurationen in der Reihenfolge 1 bis 6 durch und Sie sollten es finden.

3

Kannst du es versuchen:

Gehen Sie zum Anwendungspfad, in dem Sie einen Ablehnungsfehler erhalten. Klicken Sie mit der rechten Maustaste 

Eigenschaften-> Registerkarte Sicherheit

Ändern Sie in diesem Fall die Berechtigungen und aktivieren Sie das Kontrollkästchen Lesen und Schreiben. Dann wird es hoffentlich fehlerfrei funktionieren.

3
user5891257

Dieses Problem wurde nach der Installation von IIS 7 unter Vista Home Premium erhalten. Um den Fehler zu korrigieren, habe ich die folgenden Werte in der Datei applicationHost.config unter Windows\system32\inetsrv geändert.

Ändern Sie alle folgenden Werte in Abschnitt -> 

<div mce_keep="true"><section name="handlers" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>
<div mce_keep="true"><section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>
2
Bhavesh

Bei Windows Server 2008 und IIS 7 ist die Vorgehensweise ähnlich. Bitte beachten Sie Folgendes: http://msdn.Microsoft.com/en-us/library/vstudio/bb763178(v=vs.100).aspx

in add-Rolle-Service sehen Sie "Application Development Features"

Überprüfen Sie die Funktionen. Ich habe alles geprüft.

2

Ich hatte ein Problem, bei dem ich die Override = "Allow" -Werte (hier bereits erwähnt) einstellt ... aber auf einem 64-Bit-System ....... mein 32er Notepad ++ war Phantom, das sie speichert. Beim Umstieg auf Notepad (64-Bit-Anwendung auf einem x64-Bit-Betriebssystem) konnte ich die Einstellungen speichern.

Sehen :

http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/

Der relevante Text:

Eines der Probleme, die ich ausführte, musste ich applicationHost.config anzeigen und möglicherweise bearbeiten. Diese Datei befindet sich unter% SystemRoot%\System32\inetsrv\config. Scheint einfach genug. Ich konnte es leicht von der Kommandozeile aus finden, aber als ich es in meinen Lieblingseditor (Notepad ++) geladen habe, bekam ich einen Fehler, der nicht gefunden wurde. Stellt sich heraus, dass der System32-Ordner für 32-Bit-Anwendungen an SysWOW64 umgeleitet wird. Es scheint keine Möglichkeit zu geben, den System32-Ordner mit einer 32-Bit-App anzuzeigen. Gehen Sie zur Abbildung . Glücklicherweise werden 64-Bit-Versionen von Windows mit einer 64-Bit-Version von Notepad ausgeliefert. So sehr ich es nicht mag, funktioniert es zumindest.

1
granadaCoder

Folgendes hat für mich gearbeitet:

Gehen Sie zu Projekteigenschaften. Web-Registerkarte Stellen Sie Local IIS ein und legen Sie eine bestimmte Seite fest.

Ich habe Windows 7 und Visual Studio 2013.

0
user3900346

In meinem Fall wurde diese Fehlermeldung angezeigt, als versucht wurde, die Authentifizierungseinstellungen in IIS zusätzlich zum Browsen zu aktualisieren. Ich konnte diesen Fehler entfernen, indem ich die Authentifizierungseinstellung aus der web.config selbst entfernte. Das Entfernen eines problematischen Konfigurationsabschnitts kann in einigen Fällen weniger invasiv und vorzuziehen sein, als die Serverfunktionen und -funktionen zu sehr zu ändern:

Abschnitt entfernt:

    <security>
        <authentication>
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>
0

ich habe dieses Problem gelöst 

gehen Sie zu cmd und führen Sie aspnet_regiis -i aus

ich hoffe, es ist hilfreich für jemanden.

0
Dipal Kothari

Durch das Hinzufügen des folgenden Schlüssels in der Registrierung wurde mein Problem behoben:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance

Als ich diese Schritte ausprobierte, bekam ich immer Fehler:

  1. Suche nach "Fensterfunktionen ein- oder ausschalten"
  2. Überprüfen Sie "Internetinformationsdienste".
  3. Überprüfen Sie "World Wide Web Services"
  4. Aktivieren Sie "Anwendungsentwicklungsfunktionen".
  5. Aktivieren Sie alle Elemente darunter

Dann schaute ich auf den Event Viewer und sah diesen Fehler:Unable to install counter strings because the SYSTEM\CurrentControlSet\Services\ASP.NET_64\Performance key could not be opened or accessed. The first DWORD in the Data section contains the Win32 error code.

Um das Problem zu beheben, habe ich den folgenden Eintrag in der Registrierung manuell erstellt:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance

und folgte diesen Schritten:

  1. Suche nach "Fensterfunktionen ein- oder ausschalten"
  2. Überprüfen Sie "Internetinformationsdienste".
  3. Überprüfen Sie "World Wide Web Services"
  4. Aktivieren Sie "Anwendungsentwicklungsfunktionen".
  5. Aktivieren Sie alle Elemente darunter
0
SharpCoder

Dies funktionierte für mich Auch in IIS 8 können Sie dieses Problem lösen, indem Sie den Server in IIS Express ändern. Gehe zu Debug-> Eigenschaften Wählen Sie im Web den Server als IIS Express aus der Dropdown-Liste aus und erstellen Sie die Lösung neu

0
LahiruD

Ich hatte das gleiche Problem. 

  • Behebung des Problems durch Aktivieren der Anwendungsserverfunktion. Danach wurde iis Neu gestartet.
0

So nehmen Sie eine Änderung auf Anwendungsebene vor (Web.Config):

Bitte entfernen Sie die Vertrauensstufe aus der web.config:

Ich habe diese Fehlermeldung erhalten, als ich versuchte, meine Website auf dem Hosting-Server zu hosten, auf dem ich keine Kontrolle über deren Server habe. Durch Entfernen der obigen Zeile aus meiner Anwendung web.config wurde mein Problem behoben.

0
Ankit Prajapati