web-dev-qa-db-fra.com

L'accès à la page demandée est impossible car les données de configuration associées à la page sont incorrectes. Erreur

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

Erreur HTTP 500.19 - Erreur interne du serveur La page demandée ne peut pas être accédé parce que les données de configuration associées pour la page sont invalide

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 souvent recherché une solution à cette erreur, mais aucune des solutions n'a résolu l'erreur.

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

Quel est le problème?

417
Yasmeen

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 réellement accéder au fichier de configuration. J'ignorerais donc le message original sur la corruption/le manque de validité, car il s'agit probablement 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 due au fait que le processus exécutant votre application Web ne dispose pas des autorisations nécessaires pour accéder au fichier/répertoire. Vous devez donc donner ces autorisations au processus d’exécution de votre application Web. 

Les droits d’accès doivent être assez simples, c’est-à-dire au moins Lire et, en fonction de votre application, peut-être Write.

Ci-dessus, vous mentionnez que IUSR etc. ne figure pas dans les propriétés de web.config. Si vous entendez par là que IUSR n'est pas répertorié dans l'onglet Sécurité du fichier, c'est une bonne chose. On ne veut pas donner à IUSR quelque permission que ce soit à web.config. Le rôle IUSR est un utilisateur Internet anonyme.

Le fichier web.config doit _ {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 IIS que vous utilisez, il est donc difficile de vous indiquer les étapes à suivre.

C'est à dire. dans IIS 7.5, le message d'erreur que vous citez est susceptible de se produire car ApplicationPoolIdentity ne se voit pas attribuer les autorisations. Votre application Web appartient à un pool d'applications et vous devez donc attribuer les autorisations au compte de système d'exploitation sous lequel le pool d'applications s'exécute. Cela ressemble souvent à NetworkService, mais vous pouvez l’avoir personnalisé pour l’exécuter sous un compte créé à cet effet. Sans plus d'informations, il est difficile de vous aider.

150
intermension

Cela peut également se produire si le site est configuré pour utiliser le module de réécriture d'URL IIS mais il n'est pas installé.

561
bkaid

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

  1. Panneau de configuration ouvert
  2. Cliquez sur le lien "programme" (ne pas désinstaller les programmes)
  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 «Service World Wide Web»
  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, le compte IIS. Maintenant, vous devez déplacer votre site Web ASP.net de «mon document» vers un autre emplacement où IIS est autorisé à y accéder (c'est-à-dire vers une autre partition de votre ordinateur). Parcourez maintenant votre site Web à partir du gestionnaire IIS et cela devrait fonctionner. 

Merci beaucoup à Jeff Turner pour la solution.

395
Yasmeen

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

49
Salim

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

  1. Gestionnaire IIS
  2. Clic droit sur ce site
  3. Modifier les autorisations
  4. Utilisateur ajouté 'IIS_IUSRS' de l'onglet Sécurité
  5. A donné toutes les autorisations à l'utilisateur 'IIS_IUSRS'
  6. Définissez l'identité du pool d'applications sur 'ApplicationPoolIdentity'
40
Sukhdev Zala

Pour les développeurs Visual Studio (VS): Comme l'ont suggéré Harvey Darvey, Savage et Snives, votre configuration de l'hôte de l'application peut pointer vers le mauvais chemin physique de l'application. Recherchez virtualDirectory dans /.vs/config/applicationhost.config pour modifier physicalPath s'il est incorrect.

 enter image description here

Assurez-vous que physicalPath est correct:

 enter image description here

34
Michael

Alerte Facepalm:

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

22
Jon Crowell

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

Pour attribuer des autorisations, cliquez avec le bouton droit de la souris sur le dossier et sur l'onglet Sécurité, assurez-vous d'accorder les autorisations appropriées. Si l'utilisateur n'est pas répertorié, cliquez sur "AJOUTER", puis entrez IIS_IUSRS (et assurez-vous que "domaine" ordinateur est sélectionné ou entrez dans le champ du nom YourLocalComputerName \ IIS_IUSRS), et vous pourrez continuer.

Si vous le souhaitez, au lieu d’attribuer des autorisations au groupe IIS_IUSRS, vous pouvez également affecter au pool d’applications qui doit généralement correspondre à «IIS APPPOOL \ nom du pool d’applications ».

18
yoel halb

Essayez de vérifier cela en double-cliquant sur les chaînes de connexion dans le volet de droite de 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 correspondant n'est pas installé.

Installez «Microsoft URL Rewrite Module 2.0 pour IIS 7», ce qui devrait résoudre votre problème. 

9
Tanuj Gulati

Rien ici ne fonctionne pour moi, j'ai trouvé cette commande dans une autre SO réponse cependant et cela a résolu mon problème. Il suffit de lancer la commande Invite 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 

8
Celt

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

IIS -> Modifier les autorisations -> Onglet Sécurité -> Accordez aux "utilisateurs" les autorisations appropriées (ou IIS_IUSRS, selon votre configuration)

6
valen

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

  1. Allez dans le gestionnaire de serveur, cliquez sur ajouter des rôles et des fonctionnalités.
  2. Dans la section des rôles, choisissez: Web Server
  3. Dans la sous-section Sécurité, choisissez tout (j'ai exclu Digest, les restrictions 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 des fonctionnalités, sélectionnez: NET 3.5, .NET 4.5, ASP.NET 4.5
  6. Dans la section du serveur Web, sélectionnez: Web Server (tout), Management Tools (console de gestion IIS et service de gestion), Windows 
5

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

5
Jeff Turner

Euh J'avais déplacé mon site/mes fichiers dans un autre dossier. Sans changer le chemin sur le site Web IIS.

Vous pouvez tous rire maintenant.

Cela m'est également arrivé lorsqu'un document par défaut du même nom (comme index.aspx) était 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:

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...
4
theJerm

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

Si tel est le cas, une solution peut consister à installer et utiliser le programme d'installation de la plate-forme Microsoft et à installer les composants manquants. Vous devrez peut-être essayer de déterminer ce qui manque exactement car le journal des erreurs et le message ne vous l'indiquent pas.

4
eagle779

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

application setting screenshot

3
chengbo

Le problème se posait lorsque je copiais mon fichier web.config de prod, que je changeais tout ce qui n’était pas lié, sauf les règles de réécriture qui étaient réécrites en httpS.

Supprimé ces règles et couru bien.

3
DanO

Vous devez définir l'autorisation de votre dossier de site Web ou les copier dans le dossier wwwroot:) - Si l'autorisation est définie, vous avez 2 voies: + Clic droit sur le dossier Votre site Web + Ou faites un clic droit sur votre site Web dans IIS => sélectionnez Modifier l'autorisation et Ajouter une autorisation (IUSR - utilisateur iis par défaut) Bonne chance ;-)

3
SownRocker

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

2
Rob Sedgwick

Moi aussi j'ai eu le même problème et je l'ai corrigé en commentant certaines sections du fichier web.config. 

Le projet avait été précédemment construit et déployé dans .Net 2.0. Après avoir migré vers .Net 3.5, il a commencé à lever 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.

2
Munna Singh

Explorez le dossier dans lequel votre site Web est stocké et voyez que vous obtiendrez un dossier supplémentaire "aspnet_client", supprimez-le et il fonctionnera pour vous.

J'ai essayé cela mon problème est résolu.

Si cela fonctionne pour vous, faites-le comme une réponse pour qu'un autre organisme obtienne également une solution.

2
Rahul Sonone

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

Pour moi, c’était un ampersand errant dans une URL que j’utilisais dans les AppSettings.

2
Tim P.

Très simple, IIS n’a pas accès à votre web.config. Je commencerais par extraire le site de votre dossier de documents. Vérifiez qu'il dispose également d'autorisations r/w.

2
OnResolve

Juste pour participer, j'ai reçu le même type d'erreur et mon problème était assez simple: il me manquait le .NET Core Hosting Bundle. Une fois que j'ai installé l'outil et redémarré le serveur, tout s'est bien passé. 

Vous pouvez trouver le manuel pour héberger asp.net core sur Windows ici: https://docs.Microsoft.com/en-us/aspnet/core/Host-and-deploy/iis/?view=aspnetcore-2.2

1
JS_Diver

Dans mon cas, cela fonctionne simplement en commentant (ou en supprimant) la propriété anonymousAuthentication:

 <security>
     <authentication>
         <!--<anonymousAuthentication enabled="true" />-->
     </authentication>
 </security>
1
Omar Vargas

Dans mon cas, configSections doit être au top de la configuration

<configuration>
<configSections>
...
</configSections>
<othersetting>
</othersetting>
.....
1
Grey Wolf

Rien de tout cela n'a fonctionné pour moi, mais j'ai finalement une solution qui a fonctionné pour moi:

supprimez cette ligne dans web.config:

<compilation debug="true" targetFramework="4.5"/>

ne supprime pas cette ligne

<compilation debug="true"/>
1
Luca Steeb

Pour moi, je recevais les dernières nouvelles du contrôle de source et c'est ce qui s'est passé.

Le chemin d'accès 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.

 enter image description here

1
Harvey Darvey

Sur la page d'erreur IIS 7.5, cliquez sur "Afficher plus d'informations" en bas de la page. Dans ce cas, vous obtiendrez le lien Microsoft suivant:

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

Le code d'erreur 0x80070005 semble être lié aux autorisations et, en suivant les étapes décrites dans la Résolution 2, Méthode 2, l'attribution des comptes appropriés avec des autorisations sur les dossiers appropriés devrait y remédier - j'ai passé 3 jours à chercher une solution avant de la trouver juste après.

1
kbbucks

J'ai finalement résolu le problème en supprimant le dossier obj de mon application Web. Après avoir reconstruit la solution, le problème avait disparu.

1
Farshid

Ajoutez le compte local IIS_IUSRS à la sécurité et accordez-leur un accès en lecture/exécution. cela fonctionne sur mon cas.

1
user3534355

Après un plantage du serveur, un site Web commençant à donner l'erreur "Erreur HTTP 500.19 0x80070005 - Impossible de lire le fichier de configuration web.config". Normalement, il s'agirait d'autorisations ou de configuration d'utilisateur anonyme, mais celles-ci ont été définies correctement et n'ont pas changé. Suspectant que quelque chose a été corrompu dans la métabase IIS (ou dans le% windir%\system32\inetsrv\config\applicationHost.config depuis IIS7), j'ai pu le remettre en marche en supprimant le site IIS et le recréer.

0
Snives

Essayez d'installer le sous-composant 'Développement d'applications' de IIS. 

0
IsaacBok

J'ai eu cette erreur bizarre après avoir spécifié des valeurs dans le web.config dans le chemin suivant system.webServer\security\authentication

Nous préférons contrôler la configuration de IIS à l'aide de web.config car IIS est un produit redoutable et difficile à configurer à l'aide d'autres méthodes.

Le problème était que IIS marque son autorisation en verrouillant des parties de la configuration à des meddlers externes.

La configuration de l'authentification peut être déverrouillée à l'aide de l'applet de délégation de fonctions au niveau du serveur IIS, en configurant lecture/écriture.

Bien sûr, alors qu'avant, nous devions automatiser la configuration des types d'authentification IIS, nous devons maintenant automatiser le déverrouillage. Ai-je mentionné IIS est un produit redoutable?

0
Luke Puplett

Dans mon cas, ce que je faisais était d’exécuter Visual Studio en mode administrateur. 

0
Daniel

Installer le module ASP.NET Core

Téléchargez le programme d'installation à l'aide du lien suivant: https://www.Microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer

0
MrNams

J'ai modifié mon fichier web.config pour fournir un chemin d'accès réel par rapport à un parent.

<httpPlatform processPath="F:\Projects\.....
instead of 
<httpPlatform processPath="..\approot\web.cmd"
0
ANIL MANE

Il suffit de changer l’espace de noms de [WebService (Namespace = " http://tempuri.org/ ")] en 

http://Microsoft.com/webservices/

J'ai résolu mon problème avec cette solution

0
ComEngineer

Vérifiez le code Erreur/HResult et suivez ce guide:

0x80070005

Ce problème se produit pour l'une des raisons suivantes:

  • Vous utilisez IIS 7.0 sur un ordinateur Windows Vista. En outre, vous configurez le site Web pour qu'il utilise l'authentification simplifiée UNC pour accéder à un partage UNC (Universal Naming Convention) distant.

Le groupe IIS_IUSRS ne dispose pas des autorisations appropriées pour le fichier ApplicationHost.config, pour le fichier Web.config ou pour les répertoires virtual/application de IIS.

Solution

Méthode 1

Ne configurez pas le site Web pour qu'il utilise l'authentification directe UNC pour accéder au partage UNC distant. Au lieu de cela, spécifiez un compte d'utilisateur disposant des autorisations appropriées pour accéder au partage UNC distant.

Méthode 2 (le plus probable)

Accordez l'autorisation de lecture au groupe IIS_IUSRS pour le fichier ApplicationHost.config ou pour le fichier Web.config.

Donc, avec des mots simples, vous devez:

  1. Ouvrez Propriétés du dossier contenant votre fichier fichier de configuration (tel que Web.config).
  2. Dans Sécurité onglet, Éditer ... et Ajouter ...: IIS_IUSRS groupez et confirmez .
0
kenorb

Je recevais cette erreur lors de l'exécution de mon projet à partir de ma machine locale à l'aide de visual studio 2017

Aucune de ces solutions n'a fonctionné pour moi… .. En fin de compte, la solution qui a fonctionné pour moi était la suivante:

  1. Faites un clic droit sur le projet -> Propriétés -> Web -> URL du projet
  2. Dans la zone de texte URL du projet, j'ai incrémenté mon numéro de port d'une unité, puis cliqué sur le bouton Créer un répertoire virtuel.
  3. Enregistrez vos modifications, puis réexécutez le projet.
0
MartinS

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

Un message d'erreur "Une tentative de chargement d'un programme avec un format incorrect" a été détecté sur un projet de réplication SQL Server

0
Neshta
0
Alireza

ouvrez votre dossier qui contient votre projet avec Windows Explorer. Faites un clic droit sur le dossier et ajoutez des droits pour l'utilisateur USER. 

0
Unbreak My Heart