Corriger les erreurs HTTP « 502 Passerelle incorrecte » et « 503 Service indisponible » sur Azure App Service

Les erreurs « 502 Passerelle incorrecte » et « 503 Service indisponible » sont courantes dans les applications hébergées sur Azure App Service. Cet article vous permet de résoudre ces erreurs.

Si vous avez besoin d'aide supplémentaire concernant n'importe quel point de cet article, contactez les experts Azure sur les forums MSDN Azure et Stack Overflow. Vous pouvez également signaler un incident au support Azure. Accédez au site de support Azure , puis cliquez sur Obtenir un support.

Symptôme

Lorsque vous accédez à l'application, celle-ci renvoie un message d'erreur HTTP « 502 Passerelle incorrecte » ou HTTP « 503 Service non disponible ».

Cause

Ce problème est souvent dû à des problèmes au niveau de l’application, tels que :

  • demandes exigeant beaucoup de temps ;
  • un taux d’utilisation élevé de la mémoire/UC par l’application ;
  • un blocage de l’application en raison d’une exception.

Étapes de dépannage pour résoudre les erreurs « 503 Service indisponible » et « 502 Passerelle incorrecte »

Le dépannage peut être divisé en trois tâches distinctes, dans un ordre séquentiel :

  1. Observer et contrôler le comportement de l’application
  2. Collecter les données
  3. Résoudre le problème

À chaque étape, App Service vous offre différentes options.

1. Observer et contrôler le comportement de l'application

Suivi de l’état du service

Microsoft Azure publie chaque interruption du service et chaque dégradation des performances. Vous pouvez assurer le suivi de l’état du service sur le portail Azure. Pour plus d’informations, consultez la rubrique Suivi de l’état du service.

Surveiller votre application

Cette option vous permet de savoir si votre application rencontre des problèmes. Dans le panneau de votre application, cliquez sur la vignette Demandes et erreurs. Le panneau Mesure affiche toutes les mesures que vous pouvez ajouter.

Voici quelques-unes des mesures disponibles pour surveiller votre application :

  • Plage de travail moyenne de la mémoire
  • Temps de réponse moyen
  • Temps processeur
  • Plage de travail de la mémoire
  • Demandes

monitor app towards solving HTTP errors of 502 bad gateway and 503 service unavailable

Pour plus d'informations, consultez les pages suivantes :

2. Collecter les données

Utiliser l’outil de diagnostic

App Service fournit une expérience interactive et intelligente pour vous aider à résoudre les problèmes liés à votre application sans configuration particulière. Si votre application rencontre des problèmes, l’outil de diagnostic vous en indique la nature afin de vous permettre d’accéder aux informations appropriées pour les résoudre plus facilement et plus rapidement.

Pour accéder aux diagnostics App Service, accédez à votre application App Service ou à votre environnement App Service dans le portail Azure. Dans le volet de navigation de gauche, cliquez sur Diagnostiquer et résoudre les problèmes.

Utilisation de la console de débogage Kudu

App Service est fourni avec une console de débogage que vous pouvez utiliser pour déboguer, explorer et charger des fichiers, ainsi que des points de terminaison JSON pour obtenir des informations sur votre environnement. Pour votre application, il s'agit de la console Kudu ou du tableau de bord SCM.

Vous pouvez accéder à ce tableau de bord avec le lien https://<Your app name>.scm.azurewebsites.net/.

Kudu fournit, entre autres, les éléments suivants :

  • paramètres d’environnement pour votre application ;
  • flux de journal ;
  • vidage de diagnostic ;
  • console de débogage dans laquelle vous pouvez exécuter les cmdlets PowerShell et les commandes DOS de base.

Autre fonctionnalité utile de Kudu, dans le cas où votre application lève des exceptions de première chance, vous pouvez utiliser Kudu et l’outil Procdump de SysInternals pour créer des vidages de mémoire. Ces vidages de mémoire sont des instantanés du processus et peuvent souvent vous aider à résoudre les problèmes plus complexes rencontrés par votre application.

Pour plus d'informations sur les fonctionnalités disponibles dans Kudu, consultez Outils en ligne de Sites Web Azure que vous devez connaître.

3. Résoudre le problème

Mettre l’application à l’échelle

Dans Azure App Service, pour améliorer les performances et le débit, vous pouvez ajuster l’échelle à laquelle vous exécutez votre application. La mise à l’échelle d’une application implique deux actions associées : l’évolution de votre plan App Service vers un niveau tarifaire supérieur et la configuration de certains paramètres après le passage à ce niveau tarifaire supérieur.

Pour plus d’informations sur la mise à l’échelle, consultez Mise à l’échelle des applications dans un environnement Azure App Service.

En outre, vous pouvez choisir d’exécuter votre application sur plusieurs instances. Non seulement cela vous offre plus de capacité de traitement, mais également un certain niveau de tolérance aux pannes. Si le processus s’arrête sur une instance, l’autre instance continue de servir les requêtes.

Vous pouvez définir la mise à l’échelle pour qu’elle soit manuelle ou automatique.

Utilisation de la correction automatique (AutoHeal)

La correction automatique (AutoHeal) recycle le processus de travail pour votre application en fonction des paramètres que vous choisissez (comme les modifications de configuration, les requêtes, les limites de mémoire ou le temps nécessaire pour exécuter une requête). La plupart du temps, le recyclage du processus est le moyen le plus rapide pour résoudre un problème. Même si vous pouvez toujours redémarrer l'application à partir du portail Azure, la fonctionnalité de correction automatique (AutoHeal) s'en charge automatiquement pour vous. Il vous suffit d’ajouter des déclencheurs dans le fichier web.config racine pour votre application. Notez que ces paramètres fonctionnent de la même façon même si votre application n’est pas une application .NET.

Pour plus d'informations, consultez Correction automatique de Sites Web Azure.

Redémarrer l’application

Il s’agit souvent du moyen le plus simple de résoudre des problèmes à usage unique. Sur le portail Azure, vous pouvez arrêter ou redémarrer votre application à partir du panneau de celle-ci.

restart app to solve HTTP errors of 502 bad gateway and 503 service unavailable

Vous pouvez également gérer votre application à l’aide d’Azure PowerShell. Pour plus d'informations, consultez Utilisation d'Azure PowerShell avec le Gestionnaire de ressources Azure.