Erreur HTTP 503. Le service est indisponible

395

Je suis vraiment nouveau dans la configuration des serveurs Web en général. J'ai IIS 8 sur Windows 8, et j'essaie de configurer un petit site localement, tout en faisant du développement. Dans IIS, je choisis Ajouter un site, donne un nom, pointe vers un emplacement où j'ai un fichier index.html (j'ai essayé différents emplacements, le plus récent dans un dossier c: \ inetpub \ wwwroot \ test -folder) et utilise autrement tous les paramètres par défaut réglages. Cependant, lorsque j'essaie de naviguer vers localhost, je reçois

Erreur HTTP 503. Le service est indisponible.

J'ai vérifié que le pool est démarré et j'ai donné à IIS_IUSRS le contrôle total sur le dossier cible

J'ai cherché autour mais je n'ai rien trouvé qui a résolu mon problème, et il n'y a rien de utile dans le journal des événements ou dans le dossier C: \ Windows \ System32 \ LogFiles \ HTTPERR

Quelqu'un pourrait-il me dire ce qui ne va pas?

Andreas
la source
5
Avez-vous vérifié l'Observateur d'événements pour plus d'informations?
Webplanet TFS Consulting
3
Une liste de contrôle utile (même si c'est IIS7) ici blogs.msdn.com/b/webtopics/archive/2010/02/17/… - je soupçonne que vous avez déjà fait ces vérifications, mais peut aider
Webplanet TFS Consulting
121
Raison 1: l'erreur HTTP 503. Le service n'est pas disponible se produit si le pool d'applications de l'application Wep correspondante est arrêté, désactivé ou suspendu. ou L'identité d'utilisateur du pool d'applications donnée peut être invalide en raison d'un mot de passe expiré ou verrouillé. Voir cette solution parfaite: morgantechspace.com/2013/12/…
kombsh
2
La situation habituelle pour moi quand TOUS les journaux sont VIDE mais quand même 503. Raisons: 1. Le conflit de port est le plus souvent. 2. URL ACL et solution décrites ci-dessous.
Puterdo Borato
J'ai rencontré le même problème lorsque mon application déployée IIS n'était pas en cours d'exécution et m'a montré une erreur 503. Lorsque j'ai vérifié la piscine, elle a été arrêtée et le démarrage résout le problème.
Hedego

Réponses:

449

Il se peut que l'identité de l'utilisateur soit obsolète, surtout si vous avez essayé de démarrer un pool d'applications arrêté et que la demande suivante échoue à nouveau.

Dans IIS, accédez aux pools d'applications sous le serveur, puis recherchez le pool d'applications approprié pour votre site Web et cliquez dessus. Dans le menu Paramètres avancés à droite, sélectionnez Identité et modifiez-la, puis saisissez un nouvel utilisateur et un nouveau mot de passe. Cliquez à nouveau sur votre pool d'applications et sélectionnez Recycler pour le redémarrer.

Vous pouvez également essayer de consulter le message d'erreur dans l'Observateur d'événements, sous Journaux Windows, Application, onglet Détails.

l'amour en direct
la source
23
C'est exactement ce qui m'est arrivé lorsque j'ai changé le mot de passe de l'identité utilisée pour le processus de travail W3C. Merci
Toan Nguyen
8
Je viens de changer mon mot de passe utilisateur et le lendemain (après un redémarrage), il échouait à cause d'un mauvais mot de passe. J'ai besoin d'une liste de choses à changer lorsque je change mon mot de passe!
Brian J
2
Je suis allé aux pools d'applications et j'ai réalisé que mon site avait été arrêté. Je l'ai redémarré et pouf, fonctionnant comme neuf.
Jason L.
J'ai eu le même problème. Chaque fois qu'un problème comme celui-ci se produit, l'Observateur d'événements est l'endroit où vous devez regarder en premier. Le premier journal à vérifier est presque toujours: Windows Logs -> System. Le message d'erreur sera quelque chose comme "Le pool d'applications Foo a été désactivé. Le service d'activation de processus Windows (WAS) a rencontré un échec lorsqu'il a démarré un processus de travail pour servir le pool d'applications." S'il s'agit d'un mauvais nom d'utilisateur ou mot de passe dans l'identité, cela sera mentionné dans un journal d'avertissement précédent.
Jeremy Ray Brown
J'ai un problème, c'est que AppPool s'est arrêté. je viens de redémarrer et de réparer.
sal
97

Dans mon cas, le problème était le DefaultAppPool. J'ai changé le "Charger le profil utilisateur" en faux et maintenant cela fonctionne. Cependant, je ne sais pas s'il y a des effets secondaires à cela. entrez la description de l'image ici

Juan Carlos Puerto
la source
10
C'est ce qui a fonctionné pour moi aussi, j'aimerais savoir pourquoi!
Patrick McDonald,
2
J'ai également eu ce problème .. Semble absolument bizzare Microsft IIS a de nombreuses options ambiguës sans aucune indication sur les effets secondaires.
Pogrindis
Whoa! Ça a marché. Moi aussi, j'aimerais savoir pourquoi.
Lukas
4
Quelques réponses au "pourquoi?" questions sont ici: stackoverflow.com/questions/17149132/…
Simon Mourier
2
@Luaan Je suis entièrement d'accord, le problème résolu par cela réside avec moi et ma compréhension d'IIS ( ou son absence ), mais il y a un peu d'ambiguïté autour de la terminologie à moins que vous ne soyez habile dans la méthode pour laquelle IIS fonctionne. Ayant découvert pourquoi cela a résolu mon problème, c'est soulageant. Chaque jour est une journée d'école .
Pogrindis
95

D'autres réponses sont bonnes. Mais dans mon cas, je travaillais sur une boîte Windows qui exécutait déjà un ancien IIS, IISExpress ou tout autre site Web. Ce qui s'est passé, c'est que les ACL d'URL étaient réservées en quelque sorte dans le système. Donc, vous voudrez peut-être vérifier cela.

Voici la commande de console pour vider tous les acls d'URL:

netsh http show urlacl

Vérifiez ce qui est retourné ici, et si quelque chose correspond à l'URL que vous testez, voici la commande pour supprimer une URL acl (par exemple):

netsh http delete urlacl url=http://localhost:2018/

(attention à bien noter ce que vous faites ici au cas où cela ne serait pas lié au problème d'origine)

Simon Mourier
la source
3
Cela a très bien fonctionné pour moi! Dans mon cas, je travaillais avec RavenDB et j'ai essayé d'utiliser l'application console avant d'utiliser l'application IIS. Après avoir utilisé l'application console, l'application IIS ne fonctionnerait pas! Il s'est avéré que c'était parce que l'URL était réservée. Je viens de supprimer l'ACL et c'est tout bon!
N1njaB0b
1
Bon. J'avais une solution de site Web précédente liée au port que j'essayais d'utiliser.
RJ Lohan
Merci! Cela m'a également aidé - nous avions configuré Skype Entreprise à l'aide du WAP, mais nous avons constaté que le WAP était instable et s'arrêtait fréquemment et était passé à ARR 3.0. Il y avait quelques anciennes ACL d'URL laissées pour lync et lyncdiscover sur le port 443 qui gênaient IIS et causaient 503 erreurs au lieu d'IIS servant les pages. La suppression des anciennes ACL a résolu le problème.
drew010
1
c'est la seule solution qui fonctionne pour moi. Je vous remercie.
Quannt
1
Cela a fonctionné pour moi! J'avais un service d'hébergement auto en cours d'exécution avant et j'ai fait un travail pour le lier à localhost: 443. J'ai aussi dû générer un auto-certificat et le lier à 443. D'une manière ou d'une autre, il y a des remenants (même après avoir supprimé le certificat, j'ai supprimé le certificat SSL avec:. netsh http delete sslcert ipport=127.0.0.1:443J'ai également dû exécuter:netsh http delete urlacl url=https://+:443/
Ninja
46

Vérifiez le pool de frameworks d'application respectif de votre application - il pourrait être arrêté. Si c'est le cas, démarrez-le et vérifiez à nouveau.

Si vous rencontrez toujours des problèmes, vous pouvez également consulter l'Observateur d'événements pour trouver la cause de cette erreur afin de dépanner davantage.

Scoolsam
la source
Oui, l'Observateur d'événements est votre ami! J'ai trouvé que cette erreur s'est produite après la mise à jour anniversaire de Windows 10 en septembre 2016 - elle a en quelque sorte cassé le module DLL IIS Rewrite 2. Le réparer dans «Programmes et fonctionnalités», puis redémarrer le pool d'applications, l'a corrigé pour moi.
James McCormack
31

Si cela aide quelqu'un, et cela peut être risible, mais pas évident pour moi, le pool d'applications n'a pas été démarré. Je supposais juste de démarrer le site Web ou de créer le pool d'applications, cela commencerait. En fait, je ne savais même pas que vous deviez démarrer le pool d'applications ...

Neil Walker
la source
7
c'était mon problème. Ne pas rire ici.
Jared Beach
4
J'ai défini le pool d'applications avec mon identité (connexion Windows). Ce matin, le PC m'a demandé de changer de mot de passe. Ensuite, je lance iis, ce cas est arrivé. Ensuite, je vérifie le pool d'applications et change d'identité. Insérez un nouveau mot de passe, alors tout va bien.
toha
25

Pool d'applications arrêté

Dans mon cas, le pool d'applications s'est arrêté. Le démarrer a résolu le problème.

Mon site Web est hébergé sur Arvixe. Le problème d'erreur s'est probablement produit car j'ai une application basée sur l'adhésion et quelque chose de mauvais s'est produit lors du téléchargement des fichiers.

Hammad Khan
la source
même dans mon cas.
Uthistran Selvaraj
23

Si le pool d'applications fonctionne sous une identité d'utilisateur, accédez à nouveau aux paramètres avancés de mise à jour du mot de passe du nom d'utilisateur, cela a fonctionné pour moi.

Mahboob Alam
la source
18

Si le pool d'applications s'arrête immédiatement après son démarrage et que votre journal des événements affiche:

Le processus de travail du pool d'applications 'APP_POOL_NAME' a rencontré une erreur 'Impossible de lire le fichier de configuration' en essayant de lire les données de configuration du fichier '\? \', Numéro de ligne '0'. Le champ de données contient le code d'erreur.

... vous pouvez rencontrer un bogue qui a apparemment été introduit dans la mise à jour Windows 10 Fall Creators Update et / ou .Net Framework v4.7.1. Il peut être résolu via les étapes de contournement suivantes, qui proviennent de cette réponse à la question connexe Impossible de lire le fichier de configuration 'en essayant de lire les données de configuration du fichier' \\? \ <EMPTY> ', numéro de ligne' 0 ' .

  1. Accédez au lecteur sur lequel votre IIS est installé, par exemple. C:\inetpub\temp\appPools\
  2. Supprimez le répertoire (ou répertoire virtuel) du même nom que votre pool d'applications.
  3. Recyclez / redémarrez votre pool d'applications.

J'ai signalé ce bogue à Microsoft en créant le problème suivant sur le référentiel dotnet GitHub: Après l'installation de 4.7.1, IIS AppPool s'arrête avec «Impossible de lire le fichier de configuration» .

ÉDITER

Microsoft a répondu qu'il s'agissait d'un problème connu avec le processus d'installation de Windows pour la mise à jour Fall Creators et qui était documenté dans KB 4050891, les applications Web renvoient l'erreur HTTP 503 et l'événement WAS 5189 sur Windows 10 version 1709 (mise à jour Fall Creators Update) . Cet article fournit la procédure de contournement suivante, qui est similaire à celle ci-dessus. Cependant, notez qu'il recyclera tous les pools d'applications, qu'ils soient ou non affectés par le problème.

  1. Ouvrez une fenêtre Windows PowerShell à l'aide de l'option Exécuter en tant qu'administrateur.
  2. Exécutez les commandes suivantes:
    • Stop-Service -Force WAS
    • Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
    • Start-Service W3SVC
seuil
la source
C'est la meilleure réponse, et elle doit être marquée comme réponse.
Eriawan Kusumawardhono
12

J'ai résolu ce problème en supprimant une réservation d'URL correspondant à mon répertoire d'applications dans IIS. J'ai eu un problème similaire (certainement pas le même) comme indiqué dans cet article:

Une cause racine pas si courante pour le service 503 non disponible

Ryan Rodemoyer
la source
C'est ce que mon problème a fini par être, aurait pu être créé après avoir installé un package externe, comme Ruby ou quelque chose.
Josh Knutson
10

Commencez par regarder dans l'Observateur d'événements, sous le système ou le journal d'application.

Dans mon cas, le problème était qu'aucun processus de travail ne pouvait être démarré pour le pool d'applications car son fichier de configuration ne pouvait pas être lu - j'avais ajouté un «supplémentaire». à la fin de son nom.

Samuel Jack
la source
9

Pour Windows Server 2012 R2, j'ai fait ceci: IIS> App .. Pools> (avait un carré noir 'stop')> faites un clic droit dessus> démarrer

Doug Null
la source
8

Il est possible que votre domaine nécessite que le compte utilisé pour exécuter AppPool dispose de droits de connexion par lots. Dans ce cas, vous verrez ce même message d'erreur. La façon dont vous pouvez savoir si tel est le cas consiste à consulter les événements système dans l'Observateur d'événements. Il devrait y avoir un événement indiquant que le compte utilisé avec le pool d'applications a soit «le mauvais mot de passe, soit aucun droit de connexion par lots».

C'est pourquoi les développeurs utilisent assez souvent IIS Express sur leur machine de développement, car il contourne le problème des droits de connexion par lots.

Hashim Akhtar
la source
8

Dans mon cas, Pool utilise une identité personnalisée (compte et mot de passe) .Après l'expiration du mot de passe et le rechargement, l'erreur s'est produite.Je corrige simplement le mot de passe dans l'identité

vborutenko
la source
1
Le mot de passe a été modifié sur le pool d'utilisateurs dans l'application
phil soady
Je viens d'avoir le même problème :)
krolik
2
Cela m'aide. Sélectionnez le pool et cliquez sur Paramètres avancés -> Modèle de processus -> Identité -> Cliquez sur le nom d'utilisateur pour voir le (...) Cliquez sur le bouton Définir et mettez à jour le mot de passe.
Vignesh Chinnaiyan
7

J'ai rencontré le même problème, mais c'était un problème avec les paramètres réels du site dans IIS.

Sélectionnez Advanced Settings...votre site / application, puis examinez la Enabled Protocolsvaleur. Quelle que soit la résolution, la valeur était vide pour mon site et a provoqué l'erreur suivante:

Erreur HTTP 503. Le service est indisponible.

Le correctif consistait à ajouter httpet à sélectionner OK. Le site a ensuite été de nouveau fonctionnel.

atconway
la source
1
+1: Bingo! Dans mon cas, j'ai commencé à exiger SSL, donc mon correctif a été d'ajouter http, httpsdans cette même boîte. Merci!
Jim
Oui! Apparemment, quelqu'un avait changé le protocole en htt4p. Je ne sais pas comment cela s'est produit, mais c'est dans un environnement sur site que mon équipe ne gère pas. Super frustrant.
StriplingWarrior
6

Dans mon cas, j'ai créé un nouveau pool d'applications et j'ai juste oublié de le démarrer.

tno2007
la source
Parfois, j'ai une situation similaire. Je ne sais pas pourquoi, mais le pool d'applications s'arrête. Un clic droit -> Démarrer résout généralement mon problème.
Milton
AppPool ... quel énorme tas de merde fumante est IIS. Apache bat la merde à tout moment
Gianluca Ghettini
5

Vérifiez l'Observateur d'événements - Windows - Application. S'il y a une ligne d'erreur rouge faite à partir d' IIS-W3SVC-WP et que le message est comme la DLL du module C: \ Windows \ system32 \ inetsrv \ rewrite.dll n'a pas pu se charger. La donnée est l'erreur. il vous manque alors certaines fonctionnalités du programme d'installation de Windows.

Dans Windows Server 2012, accédez à Gestionnaire de serveur, Ajouter des rôles et des fonctionnalités, Serveur Web (IIS) et ajoutez la fonctionnalité correspondante. Habituellement, la plupart de la section Développement d'applications est installée. Voici une liste complète des fonctionnalités IIS et de leur DLL associée pour aider au diagnostic.

Après avoir parcouru quelques itérations de cela, je me suis retrouvé sur le message d'erreur ci-dessus concernant "rewrite.dll". Cela a conduit au téléchargement direct et à l'installation de l'outil de réécriture d'URL Microsoft . Enfin, tous les sites Web ont pris vie.

SushiGuy
la source
1
même scénario! ReWritele module manquait dans IIS. comme vous l'avez mentionné, le problème sera résolu après l'avoir installé à partir d' ici
Ali Kashanchi
4
J'ai fait installer le module URL Rewrite 2.0. Cependant, j'ai trouvé que je devais réparer l'installation dans "Programmes et fonctionnalités" (Windows 10).
bentsai
5

Ou si aucune des solutions actuelles ne fonctionne, recherchez dans le répertoire de votre site Web un fichier appelé app_offline.htm. Cela indique essentiellement à IIS que votre site n'est pas disponible et d'afficher cette page à la place.

Pour le corriger, supprimez-le ou renommez-le en app_offline.htm.bak.

Dans mon cas, je l'ai ajouté en montrant à un collègue comment l'utiliser pour empêcher temporairement le trafic vers le site, puis j'ai oublié que je l'ai fait sur ma boîte. Soupir.

Hallmanac
la source
1
Cette réponse me sauve aujourd'hui dans mon IIS
YChi Lu
4

J'ai suivi le lien Résoudre l'erreur HTTP 503 ci-dessus. Dans mon cas, mon pool d'applications s'arrêtait à chaque fois que je fais un clic droit sur mon fichier svc et que je choisis "Parcourir".

J'ai suivi les étapes ci-dessous pour résoudre le problème de l'arrêt du pool d'applications

J'utilise Windows Server 2008 R2.

Dans mon pool d'applications du gestionnaire IIS, j'ai fait un clic droit sur le pool d'applications qui m'intéresse et j'ai cliqué sur Paramètres avancés. Cela ouvre la fenêtre contextuelle Paramètres avancés.

Dans la section Process Model, cliquez sur Identity et cliquez sur le bouton Set dans ma fenêtre contextuelle Identity Pool d'applications. Cela ouvrira la fenêtre contextuelle Définir les informations d'identification où j'ai donné le nom d'utilisateur, le mot de passe et la confirmation du mot de passe, puis j'ai cliqué sur OK.

Maintenant, quand je fais un clic droit sur mon fichier svc, il s'ouvre dans le navigateur IE.

Ziggler
la source
4

Si vous avez installé la réécriture d'URL IIS, cela pourrait être lié à cela. J'ai rencontré des problèmes après une mise à jour de Windows 10.

Ce post StackOverflow m'a aidé.

Aller à Windows Control Panel> Programs and Features> IIS URL Rewrite Module 2> Repair.

ᴍᴀᴛᴛ ʙᴀᴋᴇʀ
la source
C'était la réponse. Les demandes adressées au site arrêtent le pool d'applications démarré car le module de redirection est «corrompu» après une grosse mise à jour. Merci.
SpaceBison
4

Pour mon cas, mon pool d'applications par défaut était hors ligne, pour résoudre le problème, j'ai vérifié les journaux IIS situés dans C: \ Windows \ System32 \ LogFile \ HTTPERR Faites défiler vers le bas jusqu'aux journaux d'erreurs les plus récents, cela vous montrera des problèmes avec IIS si mon erreur était "503 1 AppOffline DefaultPool"

Solution Ouvrez-vous IIS Manager, -Cliquez sur Pools d'applications, cela répertorie tous les pools d'applications à votre droite. -Vérifiez si les pools d'applications hébergeant votre API ou votre site ont un panneau d'arrêt dessus, si c'est le cas, cliquez avec le bouton droit sur le pool d'applications et cliquez sur Démarrer. _Réessayer d'accéder à votre service à partir du client Cela a fonctionné pour moi. Crie à @kombsh

mut tony
la source
3

Notre serveur a manqué d'espace disque dimanche après-midi, ce qui a entraîné une défaillance soudaine de l'application et le retour de l'erreur HTTP 502. Les journaux étaient vides, il devait donc y avoir quelque chose qui se produisait avant qu'IIS ne fasse quoi que ce soit.

Un regard rapide sur l'observateur d'événements ( WIN+R > eventvwr) a révélé le problème. entrez la description de l'image ici

C'est une bonne idée de filtrer la sortie des fenêtres Système et Application vers WAS car cela peut être assez détaillé.

L'application dépendait d'une autre qui était désactivée. Par conséquent, gardez à l'esprit qu'une application peut tomber indirectement si l'un de ses processus dépendants est en panne. Nous avons simplement réactivé le pool d'applications .NET et notre autre application a recommencé à fonctionner normalement.

Patrick.SE
la source
3

En fait, dans mon cas, https: // localhost fonctionnait, mais http: // localhost a donné une erreur de serveur interne HTTP 503. Modification de la liaison du site Web par défaut dans IIS pour utiliser le nom d'hôte localhost au lieu d'un nom d'hôte vide.

Liaisons de sites IIS pour HTTPtname pour la liaison http

Tore Aurstad
la source
2

Après quelques essais et erreurs, j'ai découvert que le pool d'applications était configuré pour utiliser mon compte de domaine comme identité et je me suis souvenu d'avoir changé le mot de passe de mon compte de domaine avant. La réinitialisation de l'identité du pool d'applications (en utilisant mon nouveau mot de passe) a résolu le problème et le pool d'applications a pu être redémarré sans aucun problème.

Kaushik Thanki
la source
2

Dans mon cas, le problème était qu'une autre application utilisait le port que j'avais lié à mon site Web.

Je l'ai trouvé en exécutant la commande suivante à partir d'une ligne de commande, qui répertorie tous les ports d'écoute et l'exécutable impliqués:

netstat -b
Avalanchis
la source
2

J'ai eu la même erreur aujourd'hui. Le problème était que j'ai récemment changé le mot de passe du domaine, j'ai donc dû le mettre à jour dans chaque pool d'applications, dans Paramètres avancés> Modèle de processus> Informations d'identification.

iusmar
la source
2

Même chose avec IIS Express 10.0 après la mise à niveau de Windows 7 vers Windows 10. Solution: accédez à IIS et activez tous les sites Web désactivés et réinstallez ASP.NET Core.

1_bug
la source
2

Si vous disposez de McAfee HIPS et si vous voyez l'erreur suivante dans le journal des applications de l'observateur d'événements:

La DLL du module C: \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll n'a pas pu se charger.
La donnée est l'erreur.

Cette solution de contournement sur McAfee.com a ensuite résolu le problème dans mon cas.

Citation de la page:

  1. Cliquez sur Démarrer, Exécuter, tapez explorateur 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. Modifiez la section <globalModules> et supprimez la ligne suivante:
    <add name = "MfeEngine" image = "% windir% \ System32 \ inetsrv \ HipIISEngineStub.dll" />

  5. Modifiez 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 fichier, puis redémarrez le serveur IIS à l'aide d'iisreset ou en redémarrant le système.
Orhan Celik
la source
2

Vérifiez également la barre d'adresse et assurez-vous que la page est au bon endroit.

Cette erreur peut être renvoyée au lieu du 404 (Page non trouvée). Dans mon cas, c'était un mauvais lien sur la page qui n'avait pas de sous-dossier inclus.

Tony L.
la source
2

J'ai eu le même problème pendant la plus longue période et j'ai pensé qu'il y avait un problème avec mon code. Il s'avère que, dans le serveur IIS, mon pool d'applications pour ce projet particulier a été arrêté. Je l'ai rallumé et cela a résolu le problème. L'erreur 503 est probablement liée au pool d'applications

Nabeel
la source