553 votes

IIS 500.19 avec 0x80070005 La page demandée n'est pas accessible car les données de configuration associées à la page sont invalides.

Je veux télécharger mon propre site web asp.net sur IIS avec IIS Manager. Mais lorsque je fais cela, j'obtiens l'erreur suivante

Erreur HTTP 500.19 - Erreur interne du serveur La page demandée n'est pas accessible car les données de configuration de la page ne sont pas disponibles. parce que les données de configuration associées à la page sont invalides

Module IIS Web Core
Notification Inconnu
Manipulateur Pas encore déterminé
Code d'erreur 0x80070005
Erreur de configuration Impossible de lire le fichier de configuration en raison de permissions insuffisantes
Fichier de configuration \\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config

J'ai cherché à plusieurs reprises une solution pour cette erreur, mais aucune des solutions ne l'a résolue.

J'ai un problème avec mon IUSR compte. Je ne vois pas ce compte dans les "noms de groupe ou d'utilisateur" dans les propriétés de l'interface utilisateur. web.config .

Quel est le problème ?

4 votes

J'ai eu ce problème après avoir rétabli certaines modifications via Subversion (bien que cela puisse être une coïncidence). J'ai remarqué que le Web.config Les ACL du fichier étaient différentes de celles des autres fichiers du répertoire. et il n'a pas hérité de son parent. . J'ai activé l'héritage ACL et tout est revenu à la normale.

2 votes

Ma solution était légèrement différente. Sur certaines machines Windows Server 2008, vous devez donner accès au groupe "IIS_IUSRS", et non à l'utilisateur "IUSR", dans les autorisations de sécurité du dossier du site. Assurez-vous de vous rendre à l'emplacement de votre machine.

0 votes

Voir ceci aussi, ça pourrait être une des raisons

752voto

bkaid Points 29335

Cela peut également se produire si le site est configuré pour utiliser l'interface de l'utilisateur. Module IIS URL Rewrite mais il n'est pas installé.

0 votes

J'ai supprimé la section de réécriture (dont je n'avais pas vraiment besoin de toute façon) et tout va bien.

150 votes

Bien joué. <br />Ce serait bien si IIS lançait une erreur "Je ne comprends pas ce qu'est <rewrite>", plutôt que de se plaindre d'un XML mal formé.</b>

0 votes

Comment pouvez-vous savoir que le site est configuré pour utiliser le module de réécriture ?

482voto

Yasmeen Points 1708

Enfin J'ai trouvé la solution à mon problème. Le compte ASP.net n'apparaissait pas dans le gestionnaire IIS, car je n'avais pas coché sa case dans IIS. Pour ce faire, sous Windows 7, suivez les étapes suivantes :

  1. Ouvrir le panneau de commande
  2. Cliquez sur le lien "programme" (pas sur 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 pop up et développez son nœud.
  5. Développez le nœud "World Wide Web Service".
  6. Développez le nœud "Fonctions de développement des applications".
  7. Cochez la case de "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 verrez le compte IIS. Maintenant, vous devez déplacer votre site Web ASP.net de "mon document" vers un autre endroit où le IIS a la permission d'y accéder (c'est-à-dire vers une autre partition de votre ordinateur). Maintenant, naviguez sur votre site Web à partir du gestionnaire IIS et il devrait fonctionner.

Merci beaucoup à Jeff Turner pour la solution.

0 votes

Quelqu'un a dû supprimer ce service de rôle d'un serveur qui fonctionnait depuis des mois. Je n'aurais jamais pensé à vérifier cela. Ugh.

1 votes

Encore plus facile, en utilisant la ligne de commande : dism /NoRestart /Online /Enable-Feature /FeatureName:IIS-ASPNET

4 votes

Merci... comment peuvent-ils sortir un produit avec un niveau aussi bas de messages d'erreur ?

197voto

intermension Points 903

Le message indique que votre fichier de configuration est corrompu d'une manière ou d'une autre. Cependant, il indique également qu'il ne peut pas accéder au fichier de configuration. Je ne tiendrais donc pas compte du message d'origine concernant la corruption/le manque de validité, car il s'agit très probablement de l'effet 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 qui exécute votre application Web n'a pas la permission d'accéder au fichier/répertoire. Vous devez donc donner ces autorisations au processus qui exécute votre application Web.

Les droits d'accès doivent être assez simples, c'est-à-dire qu'il faut au moins Lire et, en fonction de votre application, peut-être Écrire à .

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

Le dossier web.config devrait uniquement être accessible via votre application.

Le problème est que vous n'avez pas précisé le système d'exploitation et la version d'IIS que vous utilisez, il est donc difficile de vous conseiller sur les mesures à prendre.

Par exemple, dans IIS 7.5, le message d'erreur que vous citez est susceptible de se produire en raison de votre ApplicationPoolIdentity n'ayant pas reçu les autorisations. Votre application web appartient à un pool d'applications et vous devez donc donner les autorisations au compte OS sous lequel le pool d'applications de votre application web est exécuté. Il s'agit souvent de quelque chose comme NetworkService mais vous l'avez peut-être personnalisé pour qu'il fonctionne sous un compte spécifique. Sans plus d'informations, il est difficile de vous aider.

4 votes

Puis-je donner cette permission de manière programmatique ? Veuillez m'aider. J'ai le même problème.

1 votes

Merci, cela a également résolu mon problème. J'utilise l'usurpation d'identité, ce qui rend apparemment nécessaire l'attribution de permissions READ au répertoire de l'application pour le compte usurpé.

2 votes

Je continue à obtenir "Failed to enumerate objects in the container. L'accès est refusé" après que j'ai donné la permission.

52voto

Salim Points 302

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

19voto

yo hal Points 1949

Vous devez attribuer des autorisations pour IIS_IUSRS sur la machine locale (mais vous n'avez pas besoin d'attribuer des autorisations pour IUSR, en fait, cela fonctionnera même si vous refusez explicitement les autorisations).

Pour attribuer des autorisations, il suffit de cliquer avec le bouton droit de la souris sur le dossier et, dans l'onglet "Sécurité", assurez-vous d'accorder les autorisations correctes. Si l'utilisateur n'est pas répertorié, cliquez sur "AJOUTER" et entrez IIS_IUSRS (et assurez-vous que sous "domaine", l'ordinateur local est sélectionné, ou entrez dans le champ du nom). Votre nom d'ordinateur local \IIS_IUSRS ), et vous êtes prêt à partir.

Si vous le souhaitez, vous pouvez, au lieu d'attribuer des permissions au groupe IIS_IUSRS, les attribuer au pool d'applications qui devrait en général être "IIS APPPOOL\". nom du pool d'applications ".

0 votes

Du site web suivant : iis.net/learn/get-started/planning-for-security/ Le groupe IIS_IUSRS remplace le groupe IIS_WPG. Ce groupe intégré a accès à toutes les ressources de fichiers et de système nécessaires pour qu'un compte, lorsqu'il est ajouté à ce groupe, puisse agir de manière transparente en tant qu'identité de pool d'applications.

0 votes

L'accès est toujours refusé.

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