Oplossing voor 502 Bad Gateway | Voorkom serverfouten

Oplossing voor 502 Bad Gateway bij het laden van je website

Bezoek je je website en zie je dat deze maar blijft laden? Na lang wachten verschijnt de vervelende melding: 502 Bad Gateway. Wat betekent dit precies, en wat kun je doen om dit te voorkomen?

502 bad gateway melding

Wat veroorzaakt een 502 Bad Gateway?

Wanneer je website een 502-foutmelding geeft, betekent dit dat er iets misgaat tussen de server en een externe verbinding. De meest voorkomende oorzaak is dat PHP-processen vastlopen door een externe verbinding die blijft hangen. Dit is vooral vervelend, maar er zijn manieren om het risico te verkleinen dat dit nogmaals gebeurt.

Hoe werkt het?

Om het probleem te begrijpen, is het goed om te weten hoe PHP-verzoeken worden afgehandeld. Bij elk verzoek aan je website wordt een PHP worker ingezet om dat verzoek te verwerken. Zodra dit is afgerond, wordt de worker weer vrijgegeven voor nieuwe verzoeken.

Maar stel je voor dat je applicatie (bijv. cURL of Guzzle) een externe service aanroept, zoals een weerbericht. Normaal duurt dit minder dan een seconde. Maar als die externe service traag is of niet reageert, blijft je applicatie wachten, en blijft de PHP worker bezet.

Als dit vaker gebeurt, kunnen alle PHP workers bezet raken, en nieuwe bezoekers krijgen geen toegang meer tot de site, wat leidt tot een 502 Bad Gateway.

Wat kun je doen om dit te voorkomen?

Helaas is er geen definitieve oplossing voor dit probleem. Zelfs het verhogen van het aantal PHP workers helpt maar tijdelijk. Maar er zijn enkele stappen die je kunt nemen om de kans op problemen te verkleinen:
  1. Controleer welke cURL-aanvragen je applicatie doet en doe dit alleen wanneer strikt nodig.
  2. Gebruik APM-tooling zoals New Relic of Datadog om snel te zien welk extern endpoint vastloopt.
  3. Verlaag de timeout van standaard cURL-aanvragen van 30 seconden naar bijvoorbeeld 5 seconden.
  4. Zorg voor een noodoplossing waarmee je externe verbindingen tijdelijk kunt pauzeren.
Door deze stappen te volgen, verklein je de kans op een 502 Bad Gateway-fout en houd je je website soepel draaiend.

    • Related Articles

    • Bescherm je website tegen Clickjacking

      Een tijd terug ontvingen we een melding via ons security bounty programma. Een oplettende deelnemer had ontdekt dat onze website gevoelig was voor clickjacking. Clickjacking is een techniek waarbij kwaadwillenden gebruikers ongemerkt laten klikken op ...
    • SaaS-platform WiQhit kiest voor managed hosting van LinQhost

      Vanaf maart 2020 maakt het personalitatie softwarebedrijf WiQhit.com gebruik van de LinQhost dienstverlening. Wij verzorgen nu de hosting en het beheer van het WiQhit SAAS-platform. “Die verhuizing was een spannende stap”, bekent Paul Stam (CTO van ...
    • Het voorkomen van simultaan draaiende cronjobs met Flock

      Cronjobs zijn taken die periodiek worden uitgevoerd en ingesteld kunnen worden via het commando crontab. Het is een eenvoudige manier om taken automatisch uit te voeren. De basis uitleg over cronjobs kun je terugvinden in een eerdere blog post op ...
    • SSH-tips voor professionals

      SSH is een van de meest gebruikte tools door ons én door de meeste ontwikkelaars. In deze blog delen we een aantal tips die SSH zowel veiliger als efficiënter maken. Deze tips zijn niet alleen toepasbaar op onze high performance webservers, maar ook ...
    • E-mailadres Verificatie Verplicht voor Domeinnamen

      Vanaf 1 september 2014 is het verplicht om het e-mailadres van de eigenaar van een domeinnaam te verifiëren. Dit is een nieuwe regel van de ICANN, de organisatie die verantwoordelijk is voor domeinnaambeheer. Het is dus belangrijk dat het opgegeven ...