Erreur de configuration: cette section de configuration ne peut pas être utilisée à ce chemin
j'ai rencontré une erreur en déployant un site sur un serveur. En essayant de charger la page d'accueil, ou d'accéder à l'authentification sur le nouveau site dans IIS, je reçois l'erreur:
erreur de configuration: cette section de configuration ne peut pas être utilisée à ce chemin. Cela se produit lorsque la section est verrouillée au niveau parent. Le verrouillage est soit par défaut( overrideModeDefault= "Deny"), soit explicitement défini par un balise de localisation avec overrideMode= "Deny" ou l'héritage la directive allowOverride="false".
plus de détails peuvent être trouvés ici, dans scénario 7 correspond à mon code d'erreur hex.
la solution donnée sur le site lié ci-dessus est de mettre Allow for overrideModeDefault dans la section mentionnée dans mon erreur, dans le applicationHost.fichier de configuration . Dans mon cas, sous sécurité dans système.serveur . Mais si je regarde l'application post.config sur mon ordinateur local, où le site est déjà correctement déployé, cette section est définie à Deny .
si cette solution est correcte, comment mon instance locale fonctionne-t-elle correctement avec le même web .config ? Selon mon application post.config , cette section devrait être verrouillée, mais ce n'est pas le cas. Je préfère pas changer l'application post.config fichier, car il existe de nombreux autres sites tournant sur ce serveur. Est-il une autre solution?
30 réponses
j'ai eu le même problème. Je ne me souviens pas où je l'ai trouvé sur le web, Mais voici ce que j'ai fait:
- cliquez sur " Start button"
- dans la case de recherche, inscrivez" activer ou désactiver les fonctions de windows "
- dans la fenêtre des fonctionnalités, cliquez:" services D'Information Internet "
- Click:" World Wide Web Services "
- Cliquez Sur: "Fonctionnalités De Développement D'Applications"
- Case activer les fonctionnalités. J'ai vérifié tous mais CGI.
btw, j'utilise Windows 7.
vous pouvez également utiliser le IIS Manager pour éditer ces paramètres.
soins de ce apprendre l'article IIS :
utilisant la délégation de fonction de la racine de IIS:
vous pouvez alors contrôler chacune des permissions de lecture/écriture au niveau de la machine, ce qui vous donnera autrement le overrideMode="Refuser" erreurs.
pour Windows Server 2012 et IIS 8 , la procédure est similaire.
les Web Server (IIS)
et Application Server
doivent être installés, et vous devez également avoir l'option Web Server (IIS) Support
sous Application Server
.
Parcourir "C:\Windows\System32\inetsrv\config" (vous aurez besoin des droits d'administrateur ici) Ouverture de l'applicationHost.config
Note : Dans IISExpress et Visual Studio 2015, le applicationHost.config est stocké dans $(solutionDir).vs\config\applicationhost.config
trouvez la section qui apparaît dans la partie" source de la configuration " de la page de message d'erreur. Pour moi, cela a été typiquement "modules" ou" handlers "
modifier le overrideModeDefault
attribut à être Allow
ainsi toute la ligne ressemble maintenant à:
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
après avoir sauvegardé le fichier, la page s'est chargée dans mon navigateur.
avertissement: édition applicationHost.configuration sur les fenêtres 64 bits
vous devez déverrouiller les gestionnaires. Cela peut être fait en utilisant la commande cmd suivante:
%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers
peut-être une autre information pour les gens qui obtiennent cette erreur sur IIS 8, dans mon cas était sur Microsoft Server 2012 Plate-forme. J'ai passé quelques heures à combattre d'autres erreurs qui ont surgi après avoir exécuté appcmd. En fin de compte, j'ai pu le corriger en supprimant le rôle du serveur Web et en l'installant à nouveau.
selon ma réponse à cette question semblable ;
essayez de déverrouiller les paramètres de configuration IIS pertinents au niveau du serveur, comme suit:
- Ouvrir Gestionnaire des services internet
- sélectionnez le serveur dans le volet Connexions
- Ouvrir Éditeur de Configuration dans le volet principal
- dans le Les Sections tombent, sélectionnez la section à déverrouiller, par exemple le système .webServer > defaultPath
- , Cliquez sur Déverrouiller l'Attribut dans le volet de droite
- répéter pour tous les autres paramètres dont vous avez besoin pour déverrouiller
- redémarrer IIS ( optionnel) - sélectionnez le serveur dans le volet Connexions, cliquez sur Redémarrer dans le volet Actions
j'avais besoin d'exécuter ces deux commandes à partir de et de l'invite de commande élevée:
%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication
%windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication
Pour Win 10 (fonctionnera probablement sur d'autres versions de windows ainsi.)
1. Ouvert fonctionnalités windows Activer ou désactiver " par: WinKey+ R => "optionalfeatures" => OK
- activer ces caractéristiques sous " caractéristiques de développement D'Application"
Sur Windows Server 2012 avec IIS 8 j'ai résolu ce problème en permettant de ASP.NET 4.5 :
et puis après de ken réponse .
la meilleure option est de changer Application Settings
de Custom Site Delegation
Ouvrir IIS
et à partir de la racine sélectionner Feature Delegation
et ensuite sélectionner Application Settings
et à partir de la barre latérale droite sélectionner Read/Write
cela a fait l'affaire pour moi, pour IIS 8 Windows server 2012 R2
Aller à "Activer les Fonctionnalités"
puis allez à tous les paramètres par défaut, Suivant,Suivant, Suivant etc..
ensuite, sélectionnez comme suit:,
puis réinitialiser IIS (optionnel) mais le faire côté plus sûr.
il s'agit d'une solution supplémentaire que son un problème générique tout le monde ont différent du problème et donc une solution différente. Acclamations!
semble qu'avec IIS Express et VS 2015, il y a une copie de l'application post.fichier de configuration à $(solutionDir).vs\config\applicationhost.config de sorte que vous aurez besoin pour effectuer des modifications. Voir ce lien: http://digitaldrummerj.me/iis-express-windows-authentication /
assurez-vous que ces lignes sont changées ci-dessous:
<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />
pour corriger ce problème, ouvrez l'application IIS Express Post.config. Ce fichier est stocké à C:\Users [votre nom d'utilisateur]\Documents\IISExpress\config\applicationhost.config
mise à jour pour VS2015+: l'emplacement du fichier de configuration est $(solutionDir).vs\config\applicationhost.config
rechercher les lignes suivantes""
<section name="windowsAuthentication" overrideModeDefault="Deny" />
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
<add name="WindowsAuthenticationModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="true" />
changez ces lignes en
<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />
de l'Enregistrer et de rafraîchir Asp.net Page.
dans mon cas, c'est que sur le serveur n'était pas activé" Activation HTTP " sous les fonctionnalités .net Framework. Donc pour Windows Server 2012 la solution qui a fonctionné pour moi était:
Gestionnaire de Serveur -> Ajouter des rôles et fonctionnalités -> Particularités -> assurez-vous que sous .NET Framework de la version que vous souhaitez utiliser est coché "HTTP Activation"
dans notre cas sur IIS 8 nous avons trouvé l'erreur a été produite en essayant de voir L'authentification" pour un site, quand:
- la délégation de caractéristiques du serveur marquée comme "Authentification-Windows" = "en lecture seule "
- le site avait un web.config qui référait explicitement l'authentification windows; par exemple,
marquant la délégation de fonctionnalité du site "authentification - Windows" = "Lire/Écrire", l'erreur a disparu. Il apparaît que, avec la fonctionnalité marquée "lire seulement", le web.config n'est pas autorisé à la référencer, même pour la désactiver, car cela constitue apparemment une écriture.
Le Powershell façon de permettre les fonctionnalités (Windows Server 2012 +) - garniture en tant que de besoin:
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
dans mon cas, j'ai eu cette erreur parce que j'opérais sur le mauvais fichier de configuration.
je faisais ceci:
Configuration config = serverManager.GetWebConfiguration(websiteName);
ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime");
serverRuntimeSection["alternateHostName"] = hostname;
au lieu du code correct:
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName);
serverRuntimeSection["alternateHostName"] = hostname;
en d'autres termes, j'essayais d'opérer sur le Web du site.config au lieu du fichier global C:\Windows\System32\inetsrv\config\applicationHost.config qui a une section (ou une section) pour le site web. Le réglage que j'essayais le changement n'existe que dans le posted'application.fichier de configuration.
j'ai eu besoin de changer les paramètres SSL sur un sous-dossier quand j'ai reçu ce beau message. Dans mon cas, la suite de l'action m'a aidé.
Ouvert C:\Windows\System32\inetsrv\config\applicationHost.config
et a changé la valeur de overrideModeDefault= "Deny" à "Allow "
<sectionGroup name="system.webServer">
...
<sectionGroup name="security">
<section name="access" overrideModeDefault="Allow" />
</sectionGroup>
Pour Windows Server 2008 et IIS 7, la procédure est similaire. veuillez vous référer à cette: http://msdn.microsoft.com/en-us/library/vstudio/bb763178 (v = 100).aspx
ajouter un rôle de service, u va voir "Fonctionnalités de Développement d'Applications"
vérifier (activer) les fonctionnalités. J'ai vérifié tous.
google Norvégien ref:
Denne konfigurasjonsdelen kan ikke brukes i denne banen. Dette skjer når delen er låst på et overordnet nivå. Låsing skjer som standard (overrideModeDefault="Deny") eller angis eksplisitt av en stedskode med overrideMode="Deny" eller den Eldre allowOverride="false".
en activant toutes les options de développement D'applications, j'ai corrigé cela pour moi. Je n'ai probablement pas besoin de tous, mais maintenant il travail.
a reçu ce même problème après avoir installé IIS 7 sur Vista Home Premium. Pour corriger l'erreur j'ai changé les valeurs suivantes situées dans l'applicationHost.fichier de configuration situé dans Windows\system32\inetsrv.
Modifier toutes les valeurs suivantes dans la section -->
<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>
pouvez-vous essayer ceci:
allez sur le chemin de l'application où vous obtenez l'erreur deny, clic droit
Propriétés - > onglet Sécurité
en cela, changez les permissions et cochez la case lire et écrire. Ensuite, il fonctionnera sans aucune erreur, espérons-le.
Dans mon cas, c'était autre chose.
lorsque j'ai chargé la solution dans une nouvelle version de Visual Studio, VS a apparemment créé un nouveau poste d'application spécifique au projet.fichier de configuration:
MySolutionDir\.vs\config\applicationhost.config
il a commencé à utiliser les paramètres de la nouvelle config, au lieu de mon IIS Express mondial déjà personnalisé paramètre. (\Users\ % USER % \Documents\IISExpress\config\applicationhost.config)
dans mon cas, c'était le réglage qui devait être réglé. Bien sûr, cela pourrait être autre chose pour vous:
<section name="ipSecurity" overrideModeDefault="Allow" />
j'ai eu un problème où je mettais les valeurs override = "Allow" (déjà mentionnées ici)......mais sur un système x64 bits.......mon 32 bloc-notes++ était phantom les sauvant. Passer à Notepad (qui est une application 64bit sur un x64 bit O/S) m'a permis de sauvegarder les paramètres.
voir:
http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows /
texte:
L'un des problèmes que je suis en cours d'exécution exigé que je voir et peut-être modifier applicationHost.config. Ce fichier est situé à %SystemRoot%\System32\inetsrv\config. Semble assez simple. J'ai été capable de le trouver facilement depuis la ligne de commande, mais quand je suis allé le charger dans mon éditeur préféré (Notepad++) j'ai eu un fichier qui n'a pas trouvé d'erreur. Il s'avère que le dossier System32 est redirigé pour les applications 32 bits vers SysWOW64. Il semble y avoir aucun moyen pour la voir le dossier System32 l'aide d'une application 32 bits. Aller à la figure. Heureusement, les versions 64 bits de Windows sont disponibles avec une version 64 bits de Notepad. Même si je n'aime pas ça, au moins ça marche.
l'erreur indique que la section de configuration est verrouillée au niveau parent. Ainsi, il ne sera pas directement 1 fichier de configuration qui résoudra le problème, nous devons passer par la hiérarchie des fichiers de configuration pour voir l'héritage Cochez le lien ci-dessous pour passer en revue la hiérarchie des fichiers et l'héritage dans IIS
https://msdn.microsoft.com/en-us/library/ms178685.aspx
donc vous devez vérifier pour l'application config paramètres dans l'ordre ci-dessous
- ApplicationHost.configuration C:windows\system32\inetsrv\config. Changez l'attribut overrideModeDefault pour autoriser.
- ApplicationName.config ou web.config dans le répertoire des applications
- Web.config dans le répertoire racine.
- Web.config dans le site web spécifique (Mon problème a été trouvé à cet endroit).
- Web.configuration du réseau racine (configuration du serveur)
- de la machine.config de la machine (de la Racine web.config et machine.config peut être trouvé à - systemroot\MicrosoftNET\Framework\versionNumber\CONFIG\Machine.config)
parcourez soigneusement toutes ces configurations dans l'ordre de 1 à 6 et vous devriez le trouver.
j'ai eu le même problème.
- Résolu en activant la fonctionnalité de serveur D'Application. Iis redémarré après que.
ça a marché pour moi Aussi dans IIS 8 Vous pouvez résoudre ce problème en changeant le serveur à IIS Express. Goto debug - > propriétés Dans le Web, sélectionnez le serveur comme IIS Express À partir de la liste déroulante, puis reconstruisez la solution
pour effectuer un changement au niveau de L'Application (Web.Config):
veuillez supprimer le niveau de confiance sur le web.config:
en fait j'ai eu cette erreur quand j'ai essayé d'héberger mon site web sur le serveur D'hébergement où je n'ai pas le contrôle sur leur serveur. Supprimer la ligne ci-dessus de mon Application web.config a résolu mon problème.
dans mon cas, j'ai eu cette erreur en essayant de mettre à jour les paramètres d'authentification dans IIS également en plus de la navigation. J'ai pu supprimer cette erreur en supprimant le paramètre d'authentification du web.config elle-même. Supprimer une section de configuration problématique peut être moins invasif et préférable dans certains cas que de changer trop les rôles et les fonctionnalités du serveur:
Section Enlevée:
<security>
<authentication>
<windowsAuthentication enabled="true" />
</authentication>
</security>
ce qui suit a fonctionné pour moi:
allez à Propriétés du projet. Onglet Web. Réglez sur L'IIS Local et définissez la page spécifique.
J'ai Windows 7 et Visual Studio 2013.