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?
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.
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é.
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:
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.
Dans mon cas, l’installation de IIS module URL Rewrite a résolu le problème.
J'avais le même problème, voici la solution qui a fonctionné pour moi.
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.
Assurez-vous que physicalPath est correct:
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.
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 ».
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.
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
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)
Je fais ces étapes pour résoudre ce problème dansWindows Server 2012, IIS 8.5. Devrait fonctionner pour d'autres versions aussi.
Web Server
.NET Extensibility 4.5
, ASP.NET 4.5
et les deux entrées ISAPI
.NET 3.5
, .NET 4.5
, ASP.NET 4.5
Web Server
(tout), Management Tools
(console de gestion IIS et service de gestion), Windows 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.
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>...
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.
Dans mon cas, cela est dû au chemin physique de l'application qui pointe vers un dossier inexistant dans IIS.
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.
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 ;-)
ce problème avec les lecteurs mappés, IIS ne fonctionne pas avec les lecteurs mappés. Utilisez simplement le lecteur non mappé.
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.
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.
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.
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.
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.
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
Dans mon cas, cela fonctionne simplement en commentant (ou en supprimant) la propriété anonymousAuthentication:
<security>
<authentication>
<!--<anonymousAuthentication enabled="true" />-->
</authentication>
</security>
Dans mon cas, configSections doit être au top de la configuration
<configuration>
<configSections>
...
</configSections>
<othersetting>
</othersetting>
.....
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"/>
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.
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.
Ajoutez le compte local IIS_IUSRS à la sécurité et accordez-leur un accès en lecture/exécution. cela fonctionne sur mon cas.
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.
Essayez d'installer le sous-composant 'Développement d'applications' de IIS.
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?
Dans mon cas, ce que je faisais était d’exécuter Visual Studio en mode administrateur.
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
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"
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
Vérifiez le code Erreur/HResult et suivez ce guide:
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.
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.
Accordez l'autorisation de lecture au groupe
IIS_IUSRS
pour le fichierApplicationHost.config
ou pour le fichierWeb.config
.
Donc, avec des mots simples, vous devez:
Web.config
).IIS_IUSRS
groupez et confirmez .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:
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.
Installer le pack d'hébergement .NET Core Windows Server
https://docs.Microsoft.com/en-us/aspnet/core/Host-and-deploy/iis/?view=aspnetcore-2.1
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.