HTTP-fouten van '502 ongeldige gateway' en '503-service niet beschikbaar' in Azure-app Service oplossen
'502 ongeldige gateway' en '503-service niet beschikbaar' zijn veelvoorkomende fouten in uw app die wordt gehost in Azure-app Service. Dit artikel helpt u bij het oplossen van deze fouten.
Als u op elk gewenst moment in dit artikel meer hulp nodig hebt, kunt u contact opnemen met de Azure-experts op de MSDN Azure en de Stack Overflow-forums. U kunt ook een ondersteuning voor Azure incident indienen. Ga naar de azure-ondersteuningssite en klik op Ondersteuning krijgen.
Symptoom
Wanneer u naar de app bladert, wordt een HTTP-fout '502 Ongeldige gateway' of een HTTP-fout '503-service niet beschikbaar' geretourneerd.
Oorzaak
Dit probleem wordt vaak veroorzaakt door problemen op toepassingsniveau, zoals:
- aanvragen duren lang
- toepassing gebruikt veel geheugen/CPU
- toepassing crasht vanwege een uitzondering.
Stappen voor probleemoplossing voor het oplossen van fouten met '502 ongeldige gateway' en '503-service is niet beschikbaar'
Problemen oplossen kan worden onderverdeeld in drie afzonderlijke taken, in opeenvolgende volgorde:
App Service biedt u verschillende opties bij elke stap.
1. Toepassingsgedrag observeren en bewaken
Servicestatus bijhouden
Microsoft Azure publiciseert telkens wanneer er sprake is van een onderbreking van de service of prestatievermindering. U kunt de status van de service bijhouden in Azure Portal. Zie Servicestatus bijhouden voor meer informatie.
Uw app bewaken
Met deze optie kunt u achterhalen of uw toepassing problemen ondervindt. Klik op de blade van uw app op de tegel Aanvragen en fouten . Op de blade Metrische gegevens ziet u alle metrische gegevens die u kunt toevoegen.
Sommige metrische gegevens die u mogelijk wilt controleren voor uw app, zijn
- Gemiddelde geheugenwerkset
- Gemiddelde reactietijd
- CPU-tijd
- Geheugenwerkset
- Verzoeken
Zie voor meer informatie:
2. Gegevens verzamelen
Het diagnostische hulpprogramma gebruiken
App Service biedt een intelligente en interactieve ervaring om u te helpen bij het oplossen van problemen met uw app zonder configuratie vereist. Wanneer u problemen ondervindt met uw app, wijst het diagnostische hulpprogramma erop wat er verkeerd is om u naar de juiste informatie te leiden om het probleem gemakkelijker en sneller op te lossen.
Als u toegang wilt krijgen tot Diagnostische gegevens van App Service, gaat u naar uw App Service-app of App Service-omgeving in Azure Portal. Klik in het linkernavigatievenster op Problemen vaststellen en oplossen.
De Kudu-foutopsporingsconsole gebruiken
App Service wordt geleverd met een console voor foutopsporing die u kunt gebruiken voor foutopsporing, het verkennen, uploaden van bestanden en JSON-eindpunten voor het ophalen van informatie over uw omgeving. Dit wordt de Kudu-console of het SCM-dashboard voor uw app genoemd.
U kunt dit dashboard openen door naar de koppeling te gaan https://< App-naam.scm.azurewebsites.net/>.
Enkele van de dingen die Kudu biedt, zijn:
- omgevingsinstellingen voor uw toepassing
- logboekstream
- diagnostische dump
- foutopsporingsconsole waarin u PowerShell-cmdlets en eenvoudige DOS-opdrachten kunt uitvoeren.
Een andere handige functie van Kudu is dat als uw toepassing uitzonderingen voor de eerste kans genereert, u Kudu en het hulpprogramma SysInternals Procdump kunt gebruiken om geheugendumps te maken. Deze geheugendumps zijn momentopnamen van het proces en kunnen u vaak helpen complexere problemen met uw app op te lossen.
Zie de onlinehulpprogramma's van Azure Websites waarover u meer wilt weten voor meer informatie over functies die beschikbaar zijn in Kudu.
3. Los het probleem op
De app schalen
In Azure-app Service kunt u voor betere prestaties en doorvoer de schaal aanpassen waarop u uw toepassing uitvoert. Het omhoog schalen van een app omvat twee gerelateerde acties: het wijzigen van uw App Service-plan in een hogere prijscategorie en het configureren van bepaalde instellingen nadat u bent overgeschakeld naar de hogere prijscategorie.
Zie Een app schalen in Azure-app Service voor meer informatie over schalen.
Daarnaast kunt u ervoor kiezen om uw toepassing uit te voeren op meer dan één exemplaar. Dit biedt niet alleen meer verwerkingsmogelijkheden, maar biedt u ook enige fouttolerantie. Als het proces op één exemplaar uitvalt, blijft het andere exemplaar aanvragen verwerken.
U kunt instellen dat de schaal handmatig of automatisch is.
AutoHeal gebruiken
AutoHeal recyclet het werkproces voor uw app op basis van de instellingen die u kiest (zoals configuratiewijzigingen, aanvragen, geheugenlimieten of de tijd die nodig is om een aanvraag uit te voeren). Recycle het proces meestal de snelste manier om te herstellen van een probleem. Hoewel u de app altijd rechtstreeks vanuit Azure Portal opnieuw kunt starten, doet AutoHeal dit automatisch voor u. U hoeft alleen maar enkele triggers toe te voegen in de hoofdweb.config voor uw app. Houd er rekening mee dat deze instellingen op dezelfde manier werken, zelfs als uw toepassing geen .NET-toepassing is.
Zie Automatisch herstellen van Azure-websites voor meer informatie.
De app opnieuw starten
Dit is vaak de eenvoudigste manier om eenmalige problemen te herstellen. Op de blade van uw app in Azure Portal hebt u de opties om uw app te stoppen of opnieuw op te starten.
U kunt uw app ook beheren met behulp van Azure PowerShell. Zie Azure PowerShell gebruiken met Azure Resource Manager voor meer informatie.