2049 votes

Erreur de configuration : Cette section de configuration ne peut pas être utilisée à ce chemin

J'ai rencontré une erreur lors du déploiement d'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, j'obtiens 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 défini explicitement par une balise d'emplacement avec overrideMode="Deny" ou le paramètre hérité allowOverride="false".

Plus de détails peuvent être trouvés ici, dans le scénario 7 correspond à mon code d'erreur hexadécimal.

La solution donnée sur le site lié ci-dessus est de définir Allow pour overrideModeDefault dans la section mentionnée dans mon erreur, dans le fichier applicationHost.config. Dans mon cas, sous Sécurité dans system.webServer. Mais si je regarde le applicationHost.config sur mon ordinateur local, où le site est déjà correctement déployé, cette section est définie sur Deny.

Si cette solution est correcte, comment mon instance locale fonctionne-t-elle parfaitement avec le même web.config ? Selon mon applicationHost.config, cette section devrait être verrouillée, mais ce n'est pas le cas. Je préférerais ne pas modifier le fichier applicationHost.config, car de nombreux autres sites tournent sur ce serveur. Y a-t-il une autre solution ?

2 votes

Si vous êtes arrivé ici parce que vous avez obtenu cette erreur en essayant d'utiliser le programme "Certify the web" (certifytheweb.com), alors cet article de blog pourrait être pertinent: renniestechblog.com/information/…

3778voto

chuck97224 Points 7384

J'avais 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 le bouton "Démarrer"
  • Dans la zone de recherche, saisissez "Activer ou désactiver des fonctionnalités Windows"
  • Dans la fenêtre des fonctionnalités, cliquez sur : "Services Internet Information"
  • Cliquez sur : "Services World Wide Web"
  • Cliquez sur : "Fonctionnalités de développement d'applications"
  • Cochez (activez) les fonctionnalités. J'ai coché toutes sauf CGI.

7 votes

Génial! Le mien manquait .Net 4.8. Je l'ai activé et ça a commencé à fonctionner. Merci un million mec.

0 votes

Sur Windows 10 et cela fonctionne pour moi. Mon projet cible .Net 4.8 mais l'IIS n'a que .Net 4.7, mais ce n'est pas un problème

0 votes

Incroyable! Cela fonctionne pour moi. À partir de cela, nous permettons tous les services qui sont restreints par un niveau parent comme mentionné dans l'erreur.

474voto

Overflew Points 2072

Vous pouvez utiliser le Gestionnaire IIS pour modifier ces paramètres. En savoir plus sur Un aperçu de la délégation de fonctionnalités:

Utilisation de l'option Délégation des fonctionnalités depuis la racine de IIS.

Icône de délégation de fonctionnalités dans le Gestionnaire IIS

Vous pouvez contrôler les autorisations de chaque fonctionnalité; si vous essayez d'utiliser une fonctionnalité définie en lecture seule, vous obtiendrez ces erreurs overrideMode="Deny":

Exemple d'utilisation de la délégation de fonctionnalités

25 votes

Pour continuer, ce qui a fonctionné pour moi est de (notez que cette solution concerne ma boîte de DEV et PAS un système de Production) : -> Trier par délégation -> Trouver tous les types en lecture seule -> Les définir en lecture/écriture

1 votes

Cela a résolu le message d'erreur que je recevais dans le gestionnaire IIS7. Plus surprenant est que cela a également résolu les clients recevant une erreur HTTP 500 lorsqu'ils tentaient d'accéder au site web.

9 votes

Il y a deux solutions apparemment différentes postées ici, toutes deux étant nécessaires. La première consiste à installer les fonctionnalités de "Serveur d'application" et de "Serveur Web". La deuxième consiste à vérifier les paramètres de délégation et à changer le paramètre offensant en Lecture/Écriture au lieu de lecture seule. Important de NOTER : La configuration offensante peut ne pas être disponible dans les fonctionnalités de délégation à moins que les bonnes fonctionnalités de support ne soient installées. Dans mon cas, le problème était lié à "Authentification - Anonyme", et cette fonctionnalité de délégation n'a pas été affichée avant que j'installe la fonctionnalité de Serveur d'application.

197voto

ken Points 6183

Pour Windows Server 2012 et IIS 8, la procédure est similaire.

Le Serveur Web (IIS) et Serveur d'Applications doivent être installés, et vous devriez également avoir l'optionnel Support du Serveur Web (IIS) sous Serveur d'Applications.

Exigences pour Windows Server 2012 et IIS 8 pour MVC

31 votes

Juste pour clarifier, la case à cocher de la fonction "Prise en charge du serveur Web (IIS)" ne se trouve pas sous le nœud 'Serveur d'application' dans l'image ci-dessus. Elle apparaîtra après avoir effectué plusieurs 'suivant' et passé les rôles et fonctionnalités du serveur sur la barre de navigation de gauche et arrivé aux 'Services de rôle' (qui n'apparaissent pas dans l'image ci-dessus mais apparaîtront pour vous après plusieurs 'suivant'). Cela m'a rendu fou :P

2 votes

Pour moi, les options n'apparaissaient que après avoir ajouté en premier lieu la règle du serveur d'application, puis redémarré l'Assistant Ajout de rôles et de fonctionnalités

180voto

Nime Cloud Points 1397

Accédez à "C:\Windows\System32\inetsrv\config" (vous aurez besoin des droits d'administrateur ici) Ouvrez applicationHost.config

Note: Dans IISExpress et Visual Studio 2015, applicationHost.config est stocké dans $(solutionDir).vs\config\applicationhost.config

Trouvez la section qui apparaît dans la partie "source de configuration" de la page d'erreur. Pour moi, il s'agit généralement de "modules" ou "handlers"

Modifiez l'attribut overrideModeDefault pour qu'il soit Allow

Ainsi, toute la ligne ressemble maintenant à :

Après avoir enregistré le fichier, la page s'est bien chargée dans mon navigateur.

Lecture complémentaire sur les environnements 64 bits : Modification de applicationHost.config sur Windows 64 bits

1 votes

C'était tout pour moi sur ipSecurity sur l'environnement de développement Windows 8.1, +1.

5 votes

Pour Windows 64 bits, vous devez passer par notepad.exe et ouvrir %SystemRoot%\System32\inetsrv\config pour obtenir la copie correcte du fichier

90voto

Gregor Primar Points 4000

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 personnes qui rencontrent cette erreur sur IIS 8, dans mon cas, c'était sur la plateforme Microsoft Server 2012. J'avais passé quelques heures à lutter contre d'autres erreurs qui sont apparues après l'exécution d'appcmd. À la fin, j'ai pu le réparer en supprimant le rôle de serveur Web et en le réinstallant.

0 votes

Cela a également fonctionné pour moi pour system.webServer/security/ipSecurity

4 votes

Bingo. A dû être exécuté en tant qu'administrateur.

3 votes

J'ai dû faire la même chose pour la section system.webServer/modules également.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X