web-dev-qa-db-fra.com

Erreur HTTP 503. Le service est indisponible. Le pool d'applications s'arrête lors de l'accès au site Web

Il y a plusieurs publications à ce sujet et j'ai déjà essayé beaucoup de choses. Mais en vain. En tant que développeur Winforms, j'ai commencé à travailler sur ce Web quelques jours en arrière, alors que mon entreprise prenait des initiatives Web.

J'ai un projet ASP.Net et je souhaite l'héberger sur IIS local. Dans les paramètres Project properties -> Web, j'ai choisi Use Local IIS Server et j'ai donné une URL comme localhost/MyApp. J'ai essayé d'y accéder sur mon navigateur firefox et j'ai reçu l'erreur HTTP Error 503. The service is unavailable.

Auparavant, j'ai eu beaucoup d'autres erreurs et je les ai toutes corrigées une par une. Mais frappé avec celui-ci. Ce sont les paramètres que j'ai dans mon projet

  1. Pool d'applications défini sur ASP.Net v4.0 Classic
  2. La propriété App Pool Enable 32 bit Application est true
  3. App Pool est lancé
  4. Propriété de construction du projet définie sur Any CPU pour le cadre cible

Mais je voudrais mentionner un comportement étrange. Suivre est quelque chose que je suis confronté

  1. Le pool d'applications est démarré
  2. J'essaie d'accéder à mon site Web local (en donnant l'URL sous la forme localhost/MyApp)
  3. Je reçois l'erreur en tant que HTTP Error 503. The service is unavailable
  4. Le pool d'applications est arrêté

J'ai vu lien suivant et je l'ai déjà essayé. Pour le comportement ci-dessus, j'ai atteint ici . Selon ce lien, le nom de l'ordinateur ne doit pas contenir .. Je n'ai pas de . dans le nom de mon ordinateur, mais j'ai -. De plus, mon nom de domaine contient .. De plus, je ne peux pas modifier ces paramètres car son ordinateur portable est mon bureau et nos paramètres TFS sont liés à nos noms de domaine et d'ordinateur.

Quelqu'un peut-il m'aider à comprendre ce qui se passe? Guidez-moi s'il-vous-plaît. Merci.

Modifier

J'ai le code suivant dans Global.asax. La méthode Application_BeginRequest est vide dans le même fichier.

protected override void Application_Start(object sender, EventArgs e)
{
    base.Application_Start(sender, e);
    String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
                                         System.Environment.GetEnvironmentVariable("PATH"));
    System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
    MyAppLog.Initialize();
    MyAppLog.WriteMessage("Application Started");
}

Mettre à jour

Conformément aux suggestions de Commentaire, je suis en mesure de gérer le site Web à partir de Cassini.

144
Sandy

Cela peut être dû au fait que le pool d'applications de IIS est configuré pour s'exécuter sous un compte personnalisé et que ce compte n'existe pas, qu'un mot de passe incorrect a été fourni ou que le mot de passe a été modifié. Examinez les propriétés avancées du pool d’applications dans IIS pour le compte qu’il utilise.

De plus, le journal des événements peut contenir davantage d'informations sur les raisons pour lesquelles le pool d'applications s'arrête immédiatement à la première demande.

enter image description here

276
Darin Dimitrov

Ok, j’ai une autre solution pour un cas particulier: si vous utilisez WINDOWS 10 et que vous l’avez récemment mise à jour (avec le package Anniversary Update), vous devez suivre les étapes ci-dessous:

  1. Vérifiez votre Windows Event Viewer - appuyez sur Win + R et tapez: eventvwr, puis appuyez sur ENTER.
  2. Sur le côté gauche de Windows Event Viewer, cliquez sur Windows Logs -> Application.
  3. Vous devez maintenant rechercher des erreurs pour la source IIS-W3SVC-WP dans la fenêtre du milieu.
  4. Vous verrez probablement un message comme:

Le module DLL >> chemin d'accès à la DLL << n'a pas pu être chargé. La donnée est l'erreur.

  1. Vous devez aller à Control Panel -> Program and Features et en fonction de la DLL qui ne peut pas être chargée, vous devez réparer un autre module:
    • pour rewrite.dll - find Module 2 de réécriture d'URL IIS et cliquez sur Change-> Repair
    • pour aspnetcore.dll - recherchez Microsoft .NET Core 1.0.0 - Outils VS 2015 ... et cliquez sur Change-> Repair.
  2. Redémarrez votre ordinateur.
34
1_bug

Dans mon cas, mon mot de passe de connexion a changé, alors que le pool d'applications utilise toujours l'ancien. Il vous suffit donc de cliquer sur les "Paramètres avancés" de votre pool d'applications et de réinitialiser votre "Identité".

14
David

Je faisais face au même problème et je l'ai débogué à l'aide des journaux des événements. Premièrement, il a déclaré que: "La description de l'ID d'événement 5059 de la source Microsoft-Windows-WAS est introuvable".

J'ai ensuite activé WAS en utilisant activer/désactiver les fonctionnalités de Windows . Ensuite, j'ai vu cela dans eventvwr "Microsoft-Windows-DistributedCOM est introuvable".

Enfin, j'ai abandonné et supprimé le pool d'applications (qui permettait autrefois d'accéder au site Web) et de le créer à nouveau, tel qu'il est. Cela a résolu le problème.

9
Tarun

Pour tous ceux qui viennent ici avec Windows 10 et après les avoir mis à jour pour la mise à jour anniversaire, veuillez vérifier ce lien, cela m’a aidé:

https://orcharddojo.net/blog/troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update

Si le lien tombe: Si le journal des événements indique que aspnetcore.dll n'a pas été chargé, rewrite.dll (le plus souvent, mais il pourrait aussi s'agir d'autres personnes), vous devez réparer les éléments manquants.

Voici deux problèmes spécifiques que nous avons rencontrés jusqu'à présent et comment les résoudre, mais vous pouvez tomber sur des problèmes complètement différents:

"C:\WINDOWS\system32\inetsrv\rewrite.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "IIS URL Rewrite Module 2".
"C:\WINDOWS\system32\inetsrv\aspnetcore.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...".
6
Zoran P.

La plupart du temps, cela était dû à AppPool Setting.

Vérifiez les éléments suivants pour résoudre ce problème

  1. Vérifiez que le service Apppool est en cours d'exécution.
  2. Vérifier l'identité de AppPool.
  3. Entrez le nouveau mot de passe s'il a changé pour cette identité.

Les images suivantes montrent ces paramètres dans IIS

enter image description here

6
Hassan Nazeer

Si vous avez McAfee HIPS et si l'erreur suivante apparaît dans le journal d'application de l'observateur d'événements:

Le module DLL C:\Windows\System32\inetsrv\HipIISEngineStub.dll n'a pas pu être chargé.
La donnée est l'erreur.

Ce qui suit a ensuite résolu le problème dans mon cas: https://kc.McAfee.com/corporate/index?page=content&id=KB72677&actp=LIST

Citation de la page:

  1. Cliquez sur Démarrer, Exécuter, tapez Explorer et cliquez sur OK.
  2. Accédez à:% windir%\system32\inetsrv\config
  3. Ouvrez le fichier applicationHost.config en tant qu'administrateur pour le modifier dans le Bloc-notes.
  4. Editez la section <globalModules> et supprimez la ligne suivante:
    <add name = "MfeEngine" image = "% windir%\System32\inetsrv\HipIISEngineStub.dll" />

  5. Editez la section <modules> et supprimez la ligne suivante:
    <add name = "MfeEngine" />

  6. Une fois que vous avez terminé de modifier le fichier applicationHost.config, enregistrez-le, puis redémarrez le serveur IIS à l'aide de iisreset ou en redémarrant le système.
5
Orhan Celik

La première fois que j'ai ajouté le service et créé le pool d'applications correspondant. J'ai fait "iisreset" de l'invite de commande, et cela a fonctionné.

4
Swapnil Kale

J'ai eu un problème similaire. Je l'ai résolu en ajoutant mon utilisateur à la stratégie "Ouvrir une session en tant que tâche" sous "Stratégie de sécurité locale"> "Stratégies locales"> "Attribution des droits de l'utilisateur".

4
thd

Dans mon cas, j'ai vérifié les journaux des événements et constaté que l'erreur était Impossible de lire le fichier de configuration 'en essayant de lire les données de configuration à partir du fichier' \\?\', Numéro de ligne' 0 '. Le champ de données contient le code d'erreur.

Le code d'erreur était 2307.

J'ai supprimé tous les fichiers de C:\inetpub\temp\appPools et redémarré l'iis. Cela a résolu le problème.

4
Abhishek Agrawal

J'ai eu le même problème avec IIS 8.5. Après avoir recherché eventViewer sous windows Logs -> applications, je me suis rendu compte que je rencontrais une erreur d’autorisation pour le fichier machine.config du framework .net situé à l'emplacement "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config ". Donner une permission à IIS_IUSRS a résolu mon problème (clic droit sur le fichier -> propriétés -> sécurité -> éditer -> ajouter -> IIS_IUSRS)

3
Dror T

Si vous pouvez exécuter le site Web dans le débogueur Visual Studio, vous pourrez peut-être voir où dans votre code le pool d'applications se bloque. Dans mon cas, c’était une fonction appelée récursivement un nombre illimité de fois, ce qui a provoqué un débordement de pile. Remarque: le journal des événements Windows et les journaux IIS n'étaient pas utiles pour diagnostiquer le problème.

3
humbads

Je rencontrais cette erreur et dans mon cas, la cause en était qu’il ya un certain temps, j’ai modifié le mot de passe de l’utilisateur, et l’erreur 503 ne s’est pas produite avant le redémarrage du pool d’applications.

J'ai donc corrigé le paramétrage du nouveau mot de passe sur les pools d'applications/Paramètres avancés/Identité/[...]/Définir .../Mot de passe/Confirmer le mot de passe

3
Miquel

En plus des étapes décrites dans ce lien de la réponse d'Orhan , vous devrez peut-être également supprimer le module natif en allant à IIS Gestionnaire> Racine de serveur> Modules> Configurer les modules natifs. Sélectionnez MfeEngine, puis sélectionnez Supprimer.

2
dantheman

J'ai eu un problème similaire, tous mes pools d'applications s'arrêtaient chaque fois qu'une requête Web leur était adressée. Bien que j'obtienne l'erreur suivante dans l'observateur d'événements:

Le processus de travail du pool d'applications 'appPoolName' a rencontré une erreur 'Le fichier de configuration n'est pas un XML bien formé' qui tentait de lire les données de configuration à partir du fichier '\?\C:\inetpub\temp\apppools\appPoolName\appPoolName.config', ligne numéro 3'. Le champ de données contient le code d'erreur.

Ce qui m'a dit qu'il y avait des erreurs dans le application.config à:

C:\Windows\System32\inetsrv\config\applicationHost.config

Dans mon scénario, j'ai édité le fichier web.config lors du déploiement avec un élément IIS que je n'aime clairement pas, le fichier applicationHost.config a mis à jour le fichier web.config et a inséré ce mauvais élément. Il ne sera pas résolu tant que je ne l'ai pas supprimé manuellement.

2
ShaneC

Changer le "mode pipeline géré" de "classique" en "intégré" a fonctionné pour moi. Il peut être modifié dans les pools d'applications -> Paramètres de base

2
MartinS

Il suffit d'ajouter à ces problèmes Anniversary Update (merci Microsoft) si le fichier qui vous manque est cgi.dll, c'est-à-dire que votre Event Viewer a

The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load.  The data is the error.

Ensuite, pour résoudre ce problème:

  1. Allez à IIS Manager
  2. Sélectionnez la rangée tout en haut dans le panneau Connections (généralement le nom de votre ordinateur).
  3. Tout en bas du panneau de droite, sous Management, vous devriez avoir Web Platform Installer
  4. Une fois chargé, sélectionnez Products
  5. Dans le type de recherche, entrez cgi puis appuyez sur <Enter>
  6. Sélectionnez IIS: CGI puis cliquez sur Add à droite puis sur Install en bas.
  7. Après l’installation, il devrait vous obliger à redémarrer votre PC et vous devriez être réparé.
1
Serj Sagan