Je probeert een website te bezoeken en krijgt de foutmelding "502 Bad Gateway" te zien. De pagina laadt niet en je ziet alleen een foutmelding. In deze uitgebreide handleiding leggen we uit wat een 502 error precies betekent, wat de mogelijke oorzaken zijn en hoe je het als bezoeker of website-eigenaar kunt oplossen.

Wat is een HTTP 502 Bad Gateway error?

De HTTP 502 statuscode betekent dat een server die als gateway of proxy fungeert, een ongeldig antwoord heeft ontvangen van een upstream server. In eenvoudige taal: er staan meerdere servers tussen jou en de website, en de communicatie tussen die servers is misgegaan.

Bij een typische webhostingopstelling werkt het als volgt:

  1. Jouw browser stuurt een verzoek naar de webserver (Nginx of Apache)
  2. De webserver stuurt het verzoek door naar de applicatieserver (PHP-FPM)
  3. PHP-FPM verwerkt de pagina en stuurt het resultaat terug naar de webserver
  4. De webserver stuurt de pagina naar jouw browser

Een 502 error treedt op als stap 3 faalt — PHP-FPM crasht, geeft een ongeldig antwoord, of reageert helemaal niet. De webserver (de gateway) kan het verzoek dan niet voltooien.

Dit verschilt van een 500 error (interne serverfout in PHP) of een 503 error (server overbelast). Bij een 502 gaat het specifiek om de communicatie tussen twee servers.

Variaties van de 502 error

De 502 foutmelding kan op verschillende manieren verschijnen. Zodra je de code 502 ziet, weet je dat deze handleiding van toepassing is.

FoutmeldingOmschrijving
502 Bad GatewayMeest voorkomende variant
HTTP Error 502Standaard HTTP-foutmelding
502 Proxy ErrorProxy-gerelateerde variant
502 Server ErrorVerkorte variant
502 Bad Gateway - nginxNginx-specifieke variant
502 Bad Gateway - CloudflareCDN-gerelateerde variant
502. That's an error.Google-specifieke weergave
Bad Gateway: The proxy server received an invalid responseUitgebreide Apache variant

502 error als bezoeker oplossen

Als bezoeker heb je beperkte mogelijkheden, maar je kunt het volgende proberen:

  1. Ververs de pagina — druk op F5 of Ctrl+R. Een 502 error is vaak tijdelijk.
  2. Wacht 30 seconden tot een minuut — de server herstart mogelijk automatisch.
  3. Leeg je browsercache — soms wordt een oude 502-response uit de cache getoond.
  4. Probeer een andere DNS — schakel over naar Google DNS (8.8.8.8) of Cloudflare DNS (1.1.1.1).
  5. Controleer downdetector.nl — kijk of andere gebruikers hetzelfde probleem melden.

502 error als website-eigenaar oplossen

Ben je de eigenaar van de website? Volg dan deze 8 stappen om de oorzaak te vinden en op te lossen.

1. Controleer of PHP-FPM draait

De meest voorkomende oorzaak van een 502 error is dat PHP-FPM is gecrasht of niet meer reageert. Controleer de status:

sudo systemctl status php8.2-fpm

Als PHP-FPM gestopt is, herstart het:

sudo systemctl restart php8.2-fpm

Op shared hosting kun je PHP-FPM niet direct herstarten. Neem in dat geval contact op met je hostingprovider of wacht tot de server automatisch herstelt.

2. Controleer de Nginx of Apache error log

De webserver error log geeft je exacte informatie over waarom het verzoek faalde:

# Nginx error log
sudo tail -50 /var/log/nginx/error.log

# Apache error log
sudo tail -50 /var/log/apache2/error.log

Zoek naar regels met "502" of "upstream" — die vertellen je precies welke upstream server niet reageerde en waarom.

Veelvoorkomende logregels:

upstream prematurely closed connection while reading response header
connect() to unix:/run/php/php8.2-fpm.sock failed (111: Connection refused)
upstream timed out (110: Connection timed out) while reading response header

3. Verhoog de proxy timeout

Als je website zware operaties uitvoert (grote database queries, beeldverwerking, imports), kan het zijn dat de webserver niet lang genoeg wacht op PHP-FPM.

Nginx configuratie:

proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
fastcgi_read_timeout 300;

Apache configuratie:

ProxyTimeout 300
Timeout 300

Na het aanpassen, herstart de webserver:

sudo systemctl restart nginx   # of apache2

4. Controleer PHP memory en proces limieten

PHP-FPM kan crashen als het te weinig geheugen heeft of te veel processen probeert te draaien:

Controleer PHP-FPM pool configuratie:

# Meestal in /etc/php/8.2/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

Als pm.max_children te laag is voor je verkeer, kan PHP-FPM geen nieuwe verzoeken meer aannemen. Verhoog deze waarde of schakel over naar pm = ondemand bij wisselend verkeer.

Controleer ook de PHP memory limit in php.ini:

memory_limit = 512M

5. Test zonder CDN of reverse proxy

Als je Cloudflare, Sucuri of een andere CDN/proxy gebruikt, kan het probleem daar liggen:

  • Schakel de CDN tijdelijk uit (DNS direct naar je server laten wijzen)
  • Controleer het CDN-dashboard voor foutmeldingen
  • Bij Cloudflare: controleer of het SSL-mode correct is (Full of Full Strict)
  • Test of je website werkt via het directe server IP-adres

Als je website zonder CDN wél werkt, ligt het probleem in de CDN-configuratie.

6. Controleer DNS instellingen

Verkeerde DNS-instellingen kunnen je domeinnaam naar een verkeerde server laten wijzen, wat resulteert in een 502 error:

  • Controleer of je A-record naar het juiste server IP-adres wijst
  • Wacht na DNS-wijzigingen 24-48 uur voor volledige propagatie
  • Gebruik dig domein.nl of nslookup domein.nl om je DNS te controleren

7. Herstart de server

Als individuele services herstarten niet helpt, kan een volledige server herstart nodig zijn. Dit lost problemen op met vastgelopen processen, geheugenlekken of corrupte tijdelijke bestanden.

Op een VPS of dedicated server:

sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
sudo systemctl restart mysql

Of een volledige herstart:

sudo reboot

Op shared hosting: neem contact op met je hostingprovider voor een herstart.

8. WordPress-specifieke checks

Bij WordPress-websites kunnen deze extra oorzaken meespelen:

  • Zware plugins — deactiveer recent geïnstalleerde of bijgewerkte plugins
  • WP-Cron overbelasting — schakel WP-Cron uit en gebruik een echte server cronjob
  • Object cache conflict — als je Redis of Memcached gebruikt, controleer of de cache-service draait
  • Heartbeat API — limiteer de WordPress Heartbeat API met de Heartbeat Control plugin

502 errors voorkomen

Met deze maatregelen minimaliseer je de kans op 502 errors:

  • Monitor je server — stel uptime monitoring in met tools zoals UptimeRobot of Pingdom
  • Schaal je hosting — zorg dat je hostingpakket voldoende resources heeft voor je verkeer
  • Optimaliseer je code — zorg voor efficiënte database queries en vermijd zware operaties in pageloads
  • Gebruik caching — een goed ingerichte cache (Redis, Varnish of page cache) vermindert de belasting op PHP-FPM
  • Houd software up-to-date — gebruik de nieuwste PHP versie en houd je CMS en plugins bijgewerkt
  • Auto-restart configureren — stel systemd in om PHP-FPM automatisch te herstarten bij een crash

Veelgestelde vragen over de 502 error

Wat betekent HTTP 502 Bad Gateway precies?

Een 502 Bad Gateway error betekent dat een tussenliggende server (gateway of proxy) een ongeldig of onvolledig antwoord heeft ontvangen van de achterliggende server. Het probleem zit niet in jouw browser of verbinding, maar in de communicatie tussen twee servers. Meestal gaat het om een webserver (Nginx/Apache) die geen geldig antwoord krijgt van PHP-FPM.

Wat is het verschil tussen een 502 en een 504 error?

Bij een 502 error krijgt de gateway een ongeldig antwoord van de upstream server. Bij een 504 Gateway Timeout krijgt de gateway helemaal geen antwoord binnen de ingestelde tijdslimiet. Een 502 duidt op een crash of fout, een 504 op een time-out. De oplossingen overlappen, maar bij een 504 moet je vooral de timeout-instellingen verhogen.

Kan een 502 error door mijn hostingprovider komen?

Ja, bij shared hosting kan een 502 error veroorzaakt worden door serverproblemen waar je zelf geen invloed op hebt. Als het probleem aanhoudt en je hebt alle stappen doorlopen, neem contact op met je hostingprovider. Overweeg bij terugkerende 502 errors een upgrade naar een VPS voor meer controle en dedicated resources.

Heeft een 502 error invloed op mijn SEO?

Een enkele, korte 502 error heeft nauwelijks impact op je SEO. Als Google echter herhaaldelijk een 502 tegenkomt bij het crawlen van je pagina's, kan dit leiden tot een lagere crawlfrequentie en op termijn een daling in je zoekresultaten. Monitor je site met Google Search Console om snel op de hoogte te zijn van crawlproblemen.

Hoe lang duurt een 502 error meestal?

Dat hangt af van de oorzaak. Als PHP-FPM automatisch herstart, kan een 502 error binnen 30 seconden opgelost zijn. Bij serverproblemen of configuratiefouten kan het langer duren totdat de beheerder ingrijpt. Bij goed geconfigureerde servers worden PHP-FPM crashes automatisch gedetecteerd en herstart, waardoor de downtime minimaal is.

Regelmatig 502 errors? Bekijk onze webhostingpakketten met LiteSpeed, NVMe SSD en stabiele PHP-FPM configuratie. Of kies voor een VPS met volledige controle over je serverconfiguratie.