Toont je site Cloudflare Error 520, 521, 522, 523 of 524? Cloudflare bereikt je eigen server niet goed. Lees wat elke code betekent en hoe je de origin-server controleert.
Staat je website achter Cloudflare, dan lopen bezoekers niet rechtstreeks naar je server, maar via Cloudflare. De eigen server waar de site echt draait heet de origin. De 52x-foutcodes betekenen allemaal hetzelfde in grote lijnen: Cloudflare werkt, maar krijgt geen goed antwoord van de origin. Op de foutpagina zie je dat ook: browser en Cloudflare staan op ‘Working’, de host op ‘Error’.
Elke code wijst een ander probleem aan. 520: de origin gaf een leeg, onverwacht of ongeldig antwoord. 521: de origin weigert de verbinding, meestal omdat de webserver niet draait of een firewall Cloudflare blokkeert. 522: de verbinding met de origin kwam niet op tijd tot stand. 523: Cloudflare kan de origin helemaal niet bereiken, vaak door een verkeerd IP-adres in DNS. 524: de verbinding lukte, maar de origin deed te lang over het antwoord.
Daarnaast zijn er twee SSL-codes. 525: de versleutelde verbinding (SSL-handshake) tussen Cloudflare en de origin mislukt. 526: het certificaat op de origin is ongeldig, terwijl de SSL-modus Full (strict) het certificaat controleert. De oplossing ligt in alle gevallen op de origin of in de Cloudflare-instellingen, niet bij de bezoeker.
Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.
Als bezoeker kun je deze fout niet oplossen; de verbinding tussen Cloudflare en de server van de site hapert. Probeer het na een paar minuten opnieuw. Blijft het, meld het dan aan de eigenaar met de foutcode en de Ray ID.
Vraag de site op via het IP-adres van je eigen server, buiten Cloudflare om. Met --resolve stuurt curl de aanvraag naar dat IP-adres met de juiste hostnaam. Werkt dat, dan zit het probleem tussen Cloudflare en de server (firewall, DNS, SSL). Werkt het ook niet, dan ligt het aan de server zelf.
curl -svo /dev/null --resolve www.voorbeeld.nl:443:203.0.113.10 https://www.voorbeeld.nl/
curl -svo /dev/null --resolve www.voorbeeld.nl:80:203.0.113.10 http://www.voorbeeld.nl/Bij 521 weigert de origin de verbinding. Controleer of nginx of Apache draait en luistert op poort 80 en 443. Is de dienst gestopt, start hem en bekijk in het log waarom hij stopte.
sudo systemctl status nginx
sudo ss -tlnp | grep -E ':(80|443) 'Alle bezoekers komen bij de origin binnen vanaf IP-adressen van Cloudflare. Blokkeert een firewall, fail2ban of rate limiting die adressen, dan krijgt iedereen 521 of 522. Controleer of de Cloudflare-adresreeksen zijn toegestaan op poort 80 en 443. Cloudflare publiceert die lijsten zelf; neem ze over in je firewall.
curl -s https://www.cloudflare.com/ips-v4
curl -s https://www.cloudflare.com/ips-v6
sudo ufw status numbered
sudo fail2ban-client statusNa een verhuizing wijst het A- of AAAA-record in Cloudflare soms nog naar de oude server, of naar een IPv6-adres waarop de server niet luistert. Controleer in het Cloudflare-dashboard onder DNS of de records naar het juiste adres wijzen. Zie ook DNS-records wijzigen.
Een 520 krijg je als de origin de verbinding verbreekt of een leeg of ongeldig antwoord geeft, bijvoorbeeld als PHP crasht of de antwoordheaders te groot zijn (veel of grote cookies). Kijk in het foutenlog van de origin op het tijdstip van de fout; vaak zie je daar een crash of 500-fout.
sudo tail -n 100 /var/log/nginx/error.logEen 524 betekent dat de origin wel bereikbaar was, maar niet op tijd antwoordde. Cloudflare wacht standaard 100 seconden. Zware taken zoals exports, imports of rapporten horen in een achtergrondtaak of wachtrij, met een melding als het klaar is. Zoek in de logs welke aanvragen zo lang duren.
In het Cloudflare-dashboard onder SSL/TLS kies je hoe Cloudflare met de origin praat. Flexible gebruikt http naar de origin en geeft snel doorverwijzingslussen als de server zelf naar https stuurt. Full gebruikt https zonder het certificaat te controleren. Full (strict) eist een geldig certificaat, bijvoorbeeld van Let’s Encrypt of een Origin-certificaat van Cloudflare. Bij 525 luistert de origin niet goed op 443 met SSL; bij 526 is het certificaat verlopen of hoort het bij een andere naam. Zie SSL-certificaat verlopen of vernieuwen.
Let op: Laat in je server- en firewallregels het echte bezoekersadres gelden, niet het Cloudflare-adres. Zonder die instelling (bij nginx set_real_ip_from met real_ip_header CF-Connecting-IP) blokkeert een regel tegen één bezoeker al snel een Cloudflare-adres en daarmee veel bezoekers tegelijk.
Kort samengevat, met de plek waar je moet zoeken:
Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.
Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.
Meestal niet. De code betekent dat Cloudflare werkt, maar geen goed antwoord krijgt van je eigen server. De oplossing ligt bijna altijd op die origin-server of in de instellingen.
Bij 521 weigert de origin de verbinding direct, bijvoorbeeld omdat de webserver niet draait. Bij 522 komt de verbinding niet op tijd tot stand, vaak door een firewall die pakketten weggooit of een overbelaste server.
Gebruik bij voorkeur Full (strict) met een geldig certificaat op je server. Flexible versleutelt het stuk tussen Cloudflare en je server niet en geeft vaak doorverwijzingslussen.
Een uniek kenmerk van die ene aanvraag bij Cloudflare. Geef hem door als je hulp vraagt; daarmee is de aanvraag terug te vinden in de logboeken van Cloudflare.
Hulp nodig van een mens? Website-onderhoud · Hosting en onderhoud · Gratis website-scan · Alle oplossingen