La page demandée est inaccessible car les données de configuration associées à la page sont des erreurs non valides

Je souhaite télécharger mon propre site Web asp.net sur IIS via le IIS manager . Mais quand je fais cela, j’obtiens l’erreur suivante

Erreur HTTP 500.19 – Erreur de serveur interne Impossible d’accéder à la page demandée car les données de configuration associées à la page ne sont pas valides

 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 

J’ai cherché plusieurs fois une solution à cette erreur, mais aucune des solutions n’a résolu l’erreur.

J’ai un problème dans le compte IUSR. Je ne vois pas ce compte dans les “noms d’utilisateurs ou de groupes” dans les propriétés du web.config .

Quel est le problème?

Le message dit que votre fichier de configuration est corrompu d’une certaine manière. Cependant, il dit également qu’il ne peut pas réellement accéder au fichier de configuration. Je ne tiendrais donc pas compte du message original sur la corruption / le manque de validité, car il ne s’agit vraisemblablement que de l’impossibilité de lire le fichier en raison d’un manque d’autorisation.

La raison pour laquelle il ne peut pas lire le fichier de configuration est que le processus exécutant votre application Web n’est pas autorisé à accéder au fichier / répertoire. Vous devez donc accorder au processus d’exécution de votre application Web ces permissions.

Les droits d’access doivent être assez simples, c’est-à-dire au moins « lire» et, selon votre application, peut-être « écrire» .

Ci-dessus, vous mentionnez IUSR, etc., n’étant pas dans les propriétés de web.config . Si par là vous voulez dire que l’ IUSR n’est pas répertorié dans l’onglet de sécurité du fichier, c’est une bonne chose. On ne veut pas donner à l’ IUSR une permission quelconque sur web.config . Le rôle de l’ IUSR est un internaute anonyme.

Le fichier web.config ne doit être accessible que via votre application.

Le problème est que vous n’avez pas dit quelle version de système d’exploitation et de services Internet (IIS) vous utilisez, il est donc difficile de déterminer les étapes à suivre.

Par exemple, dans IIS 7.5, le message d’erreur que vous citez est susceptible de se produire car les permissions ne sont pas atsortingbuées à votre ApplicationPoolIdentity . Votre application Web appartient à un pool d’applications et vous devez donc accorder les permissions au compte de système d’exploitation sur lequel s’exécute le pool d’applications de votre application Web. Il s’agit souvent de quelque chose comme NetworkService, mais vous pouvez l’avoir personnalisé pour qu’il fonctionne sous un compte spécifique. Sans plus d’informations, il est difficile de vous aider.

Cela peut également se produire si le site est configuré pour utiliser le module IIS URL Rewrite mais qu’il n’est pas installé.

Finalement, je trouve la solution à mon problème. Le compte asp.net n’apparaît pas dans le gestionnaire IIS car je n’ai pas coché sa case dans IIS pour le faire dans Windows 7, suivez les étapes

  1. Panneau de contrôle ouvert
  2. Cliquez sur le lien “programme” (pas les programmes de désinstallation)
  3. Cliquez sur le lien “Activer / désactiver les fonctionnalités de Windows”
  4. localisez «Internet Information Services IIS» dans la fenêtre contextuelle et développez son nœud
  5. Développez le nœud “World Wide Web Service”
  6. Développez le nœud «Fonctionnalités de développement d’applications»
  7. cochez la case “ASP.NET”
  8. Puis cliquez sur le bouton ok

Maintenant, vous verrez le compte Asp.net sur le gestionnaire IIS et par défaut, vous voyez le compte IIS Maintenant, vous devez déplacer votre site Web asp.net de «mon document» à un autre endroit où les IIS ont access pour y accéder (à n’importe quelle partition de votre ordinateur) Maintenant, parcourez votre site Web à partir du gestionnaire IIS et cela devrait fonctionner. Merci à Jeff Turner pour la solution

Dans mon cas, l’installation du module IIS URL Rewrite a résolu le problème.

J’avais le même problème, voici la solution qui a fonctionné pour moi.

  1. Gestionnaire IIS
  2. Cliqué droit sur ce site
  3. Modifier les permissions
  4. Ajout de l’utilisateur ‘IIS_IUSRS’ à partir de l’onglet Sécurité
  5. Autorisations complètes à l’utilisateur ‘IIS_IUSRS’
  6. Définir l’identité du pool d’applications sur ‘ApplicationPoolIdentity’

Pour les développeurs Visual Studio (VS): Comme le suggèrent Harvey Darvey, Savage et Snives, votre configuration d’hôte d’application pointe peut-être vers le chemin physique de l’application incorrect. Recherchez virtualDirectory dans /.vs/config/applicationhost.config pour modifier le physicalPath s’il est incorrect.

entrer la description de l'image ici

Assurez-vous que le physicalPath est correct:

entrer la description de l'image ici

Alerte Facepalm:

Vous obtiendrez également cette erreur si le chemin du fichier de configuration est incorrect. Vérifiez-le à nouveau pour vous assurer que le chemin d’access physique est correctement entré dans IIS.

Vous devez atsortingbuer des permissions pour IIS_IUSRS sur l’ordinateur local (mais vous n’avez pas à atsortingbuer à IUSR, en fait, cela fonctionnera même si vous refusez explicitement les permissions).

Pour atsortingbuer des permissions, cliquez avec le bouton droit sur le dossier et sur l’onglet Sécurité, assurez-vous d’accorder les permissions correctes, et si l’utilisateur n’est pas répertorié, cliquez sur “AJOUTER” et entrez IIS_IUSRS (sous “domaine” ordinateur est sélectionné, ou entrez dans le champ de nom YourLocalComputerName \ IIS_IUSRS), et vous êtes prêt à partir.

Si vous le souhaitez, au lieu d’affecter des permissions au groupe IIS_IUSRS, vous pouvez plutôt affecter au pool d’applications qui doit en général être “IIS APPPOOL \ app pool name “.

Rien ici n’a fonctionné pour moi, mais j’ai trouvé cette commande dans une autre réponse SO et cela a résolu mon problème. Il suffit de lancer l’invite de commande en tant qu’administrateur et d’exécuter cette commande:

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

Crédit: utilisateur Vicxx

La même chose s’est produite avec moi, essayez de vérifier cela en double-cliquant sur les chaînes de connexion dans le volet droit d’IIS 7 lorsque vous sélectionnez un site Web.

Cela vous donnera une erreur (qu’il y a un problème avec le fichier de configuration Web), car vous avez utilisé des règles de réécriture d’URL et le composant respectif n’est pas installé.

Installez «Microsoft URL Rewrite Module 2.0 pour IIS 7» et cela devrait résoudre votre problème

Une autre possibilité qui a résolu ce problème pour moi:

IIS -> Modifier les permissions -> onglet Sécurité -> Autoriser les “utilisateurs” (ou IIS_IUSRS, selon votre configuration)

Je fais ces étapes pour résoudre ce problème dans Windows Server 2012, IIS 8.5. Devrait fonctionner pour d’autres versions aussi.

  1. Accédez au gestionnaire de serveur, cliquez sur Ajouter des rôles et des fonctionnalités
  2. Dans la section rôles, sélectionnez: Web Server
  3. Sous la sous-section Sécurité, choisissez tout (j’ai exclu le résumé, les ressortingctions IP et l’autorisation d’URL car nous ne les utilisons pas)
  4. Sous Développement d’applications, choisissez .NET Extensibility 4.5 , ASP.NET 4.5 et les deux entrées ISAPI .
  5. Dans la section Fonctions, choisissez: NET 3.5 , .NET 4.5 , ASP.NET 4.5
  6. Dans la section du serveur Web Server : Web Server (tous), Management Tools (Console de gestion IIS et Service de gestion), Windows.

Cela m’est également arrivé lorsque j’avais un document par défaut du même nom (comme index.aspx) spécifié dans mon fichier web.config ET mon site Web IIS. J’ai fini par supprimer l’entrée du site Web IIS et j’ai conservé l’entrée web.config comme ci-dessous:

      ... 

Parfois, ce message peut avoir des composants manquants dans votre environnement IIS, par exemple une structure particulière ou une fonctionnalité IIS comme la compression dynamic, plutôt que des permissions sur web.config.

Si tel est le cas, une solution peut consister à installer et utiliser Microsoft Platform Installer et à installer les composants manquants. Vous devrez peut-être déterminer ce qui manque exactement car le journal des erreurs et le message ne vous le disent pas.

Ehm. J’avais déplacé mon site / fichiers dans un autre dossier. Sans changer le chemin dans le site Web IIS.

Vous pouvez tous rire maintenant.

Assurez-vous que le pool d’applications est défini sur la version correcte de la structure. Vous devrez également vous assurer que vos utilisateurs aspnet, IIS_IUSRS ou IUSR ont un access en lecture au répertoire de l’application.

Dans mon cas, cela est dû au chemin d’access physique de l’application vers un dossier inexistant dans IIS.

capture d'écran de l'application

J’ai eu le problème que j’ai copié mon fichier web.config de prod, a changé tout ce qui ne concernait pas prod à l’exception des règles de réécriture qui réécrivaient en http S.

Supprimé ces règles et s’est bien passé.

Assez simple, IIS n’a pas access à votre web.config. Je commencerais par retirer le site de votre dossier de documents. Vérifiez qu’il dispose également des permissions r / w.

J’avais aussi le même problème et je l’ai corrigé en commentant certaines sections du fichier web.config.

Le projet a été précédemment construit et déployé dans .Net 2.0. Après avoir migré vers .Net 3.5, il a commencé à lancer l’exception.

Résolutions:

Si votre fichier de configuration contient “< sectionGroup name =” system.web.extensions > “, commentez-le et exécutez-le car cette section est déjà disponible sous Machine.config.

Vous devez définir une autorisation pour votre dossier de site Web ou les copier dans le dossier wwwroot 🙂 – Si vous définissez une autorisation, utilisez deux méthodes: + Cliquez avec le bouton droit sur Votre dossier de site Web ou cliquez avec le bouton droit sur IIS => permission (IUSR – utilisateur iis par défaut) Bonne chance 😉

eu ce problème avec les lecteurs mappés, IIS ne fonctionne pas avec les lecteurs mappés. Utilisez simplement le lecteur non mappé.

Vous pouvez obtenir cette erreur si vous avez une erreur ou un problème de synchronisation dans votre fichier web.config.

Pour moi, c’était une esperluette parasite dans une URL que j’utilisais dans les AppSettings.

Sur la page d’erreur IIS 7.5, cliquez sur «Afficher plus d’informations» au bas de la page. Dans ce cas, vous accédez au lien Microsoft suivant:

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

Le code d’erreur 0x80070005 semble être associé à des permissions et, conformément aux étapes de la résolution 2, la méthode 2 atsortingbuer les bons comptes avec des permissions sur les dossiers appropriés doit résoudre ce problème. J’ai passé 3 jours à chercher une solution.

Ajoutez le compte local IIS_IUSRS à la sécurité et placez-les en lecture / exécution. ça marche sur mon cas.

Dans mon cas, cela fonctionne simplement en commentant (ou en supprimant) la propriété anonyme de l’authentification:

       

Dans mon cas, configSections doit être au top en configuration

   ...    ..... 

Pour moi, je recevais les dernières nouvelles du contrôle des sources et c’est arrivé.

Le chemin virtualDirectory du fichier applicationhost.config était différent de celui de ma machine.

J’ai restauré ma propre copie et ça marche. J’utilise IIS express.

entrer la description de l'image ici

J’ai fini par résoudre ce problème en supprimant le dossier obj de mon application Web. Après avoir reconstruit la solution, le problème était résolu.

Dans mon cas, j’ai sélectionné le pool d’applications avec .NET Framework 2.0 et l’application 32 bits activée. J’ai eu l’application .NET Framework 2.0.

J’ai une erreur “Une tentative a été faite pour charger un programme avec un format incorrect” sur un projet de réplication SQL Server