Cloudflare Error 521: web server is down - oorzaken en oplossingen
Cloudflare error 521 betekent dat Cloudflare het IP-adres van uw origin bereikte, maar dat de server de verbinding actief weigerde, meestal omdat er niets luistert op de poort die Cloudflare probeerde, een firewall het verzoek blokkeerde, of de webserver zelf gestopt is. Dit verschilt van een timeout: iets bij de origin antwoordde meteen "nee".
Wat error 521 betekent
Wanneer Cloudflare een verzoek doorgeeft, opent het een TCP-verbinding met uw origin-server op de poort die voor dat record is ingesteld. Error 521 treedt op wanneer de origin een TCP-reset (RST) of een ICMP-"connection refused" terugstuurt in plaats van de verbinding te accepteren. Dat is een definitieve weigering, geen stilte. Vergelijk dit met error 522, waarbij Cloudflare binnen zijn timeoutvenster helemaal geen antwoord krijgt, of error 520, waarbij de verbinding wel lukt maar het HTTP-antwoord dat volgt kapot is.
Hoe error 521 verschijnt
Bezoekers zien de eigen pagina van Cloudflare, "Error 521: web server is down", met een Ray ID. Een curl-verzoek naar het domein geeft dezelfde status terug:
curl -I https://example.com
HTTP/2 521
Omdat de origin de verbinding op netwerkniveau weigerde, bereikt niets uw applicatie, dus uw applicatielogs zullen voor de mislukte verzoeken meestal helemaal niets tonen. Het bewijs ligt dichter bij het netwerk: de eigen opstart- en toegangslogs van uw webserver, de verbindingslogs van uw firewall of security group, en de systeemlogs op de origin-host (journalctl -u nginx, systemctl status nginx, of het equivalent voor uw stack).
Wat error 521 veroorzaakt
- Het webserverproces is gestopt of gecrasht. Er luistert helemaal niets op de poort, dus elke verbindingspoging wordt meteen geweigerd.
- Cloudflare is geconfigureerd om de verkeerde poort te benaderen. Komt de origin-poort ingesteld op het DNS-record of in de netwerkinstellingen van Cloudflare niet overeen met waar uw server daadwerkelijk op luistert, dan wordt elke verbinding geweigerd.
- Een firewall of cloud security group blokkeert de gepubliceerde IP-reeksen van Cloudflare. Staat de allowlist-regel specifieke bron-IP's toe en staan de huidige reeksen van Cloudflare daar niet op, of stonden ze erop en zijn ze later verwijderd, dan worden verbindingen vanaf de edge van Cloudflare gedropt of geweigerd.
- De SSL/TLS-modus staat op Full of Full strict, maar er luistert niets op poort 443 bij de origin. Die modi vereisen dat Cloudflare via HTTPS verbinding maakt met de origin; serveert de origin alleen platte HTTP, of is de certificaatinstallatie nooit voltooid, dan wordt de HTTPS-verbindingspoging geweigerd.
- Een niet-verwante dienst heeft de poort al in gebruik die de webserver verwacht te gebruiken, waardoor de webserver zelf nooit start.
521 versus 523 versus 522
Deze drie codes zijn makkelijk te verwarren omdat ze alle drie een verbinding beschrijven die nooit een HTTP-antwoord opleverde, maar elk staat voor een andere fase waarop Cloudflare faalde.
- 521, web server is down: Cloudflare bereikte het IP-adres van de origin, en iets daar weigerde de verbinding actief (een TCP-reset of een ICMP unreachable). De server bestaat en antwoordde, alleen met een weigering.
- 523, origin is unreachable: Cloudflare kwam niet eens zo ver. Dit wijst op een routerings-, DNS- of IP-probleem, vaak een DNS-record bij Cloudflare dat na een servermigratie nog steeds naar een oud IP-adres wijst, of een privénetwerkroute (zoals een Cloudflare Tunnel) die down is.
- 522, connection timed out: Cloudflare probeerde de TCP-handshake maar kreeg op tijd geen antwoord, geen acceptatie en geen weigering. Zie de aparte handleiding over Cloudflare error 522 voor dat geval.
Hoe u vaststelt wiens fout het is
Een 521 is een sterk signaal dat het probleem aan de kant van de origin ligt ten opzichte van de edge van Cloudflare, aangezien de weigering rechtstreeks van uw eigen server of het netwerk daarvoor kwam. De vraag die operationeel telt is of het de hele site raakt of een deel van het verkeer, en de snelste manier om dat te controleren is een HTTP-controle vanaf meerdere locaties tegelijk uit te voeren. De HTTP-controle van HostTracker bevraagt het domein vanaf meetpunten in meerdere landen en rapporteert elk resultaat apart, zodat u meteen ziet of elke locatie dezelfde 521 krijgt of maar sommige, wat zou wijzen op een gedeeltelijke firewallregel of een loadbalancer met één ongezonde backend in plaats van de hele server die down is.
Hoe u error 521 oplost
Bent u de bezoeker
- Laad opnieuw na een korte wachttijd. Herstart de beheerder van de site de server, dan is de oplossing mogelijk al onderweg.
- Controleer de statuspagina van de site, als die bestaat, of de sociale media ervan voor een bekende storingsmelding.
- Er valt aan uw kant niets te veranderen. De weigering gebeurt bij de eigen server van de site, niet in uw browser, DNS, of provider.
Beheert u de site
- Bevestig dat het webserverproces daadwerkelijk draait:
systemctl status nginx(of uw equivalent), en controleer de logs op een crash of een mislukte herstart. - Bevestig dat de poort die Cloudflare is geconfigureerd om te gebruiken overeenkomt met waar uw server op luistert. Vergelijk de origin-poort onder het DNS-record of de netwerkinstellingen in het dashboard van Cloudflare met de daadwerkelijk luisterende poorten van uw server (
ss -tlnpop Linux). - Controleer of uw firewall of cloud security group inkomend verkeer toestaat vanaf de gepubliceerde IP-reeksen van Cloudflare op die poort. Cloudflare publiceert zijn actuele IPv4- en IPv6-reeksen op cloudflare.com/ips; een regel opgebouwd uit een oude kopie van die lijst begint nieuwe reeksen te weigeren zodra die worden toegevoegd.
- Staat uw SSL/TLS-versleutelingsmodus op Full of Full strict, bevestig dan dat er daadwerkelijk iets op poort 443 bij de origin luistert met een certificaat dat Cloudflare kan valideren. Tijdelijk overschakelen naar Flexible is een nuttige diagnose om te bevestigen dat dit de oorzaak is, geen permanente oplossing, aangezien Flexible de verbinding tussen Cloudflare en uw origin onversleuteld laat.
- Omzeil Cloudflare om de origin rechtstreeks te testen en de rauwe weigering te zien zonder de edge-laag ertussen:
Een "Connection refused" hier bevestigt dat het probleem bij de listener of firewall van de origin ligt, niet bij Cloudflare.curl -v -H "Host: example.com" https://ORIGIN_IP:PORT/ - Controleer of niets anders op de host de poort heeft ingenomen die uw webserver verwacht, waardoor de webserver bij het opstarten niet aan die poort kan binden.
Hoe u het voorkomt
Een firewallregel die alleen de reeksen van Cloudflare op de allowlist zet, is een veelvoorkomende manier waarop een 521 maanden later terugkeert, aangezien Cloudflare in de loop van de tijd IP-reeksen toevoegt en intrekt en een eenmalig gekopieerde regel verouderd raakt. Een HTTP-controle die van buiten uw netwerk draait vangt de resulterende storing op zoals een bezoeker die zou ervaren, in plaats van te vertrouwen op iemand die opmerkt dat de site onbereikbaar is en dat meldt.
Gerelateerde fouten
- Cloudflare error 520: unknown error - de origin antwoordde, maar het antwoord kon niet worden doorgegeven.
- Cloudflare error 522: connection timed out - de handshake kreeg helemaal geen antwoord.
- 5xx-serverfouten - de algemene familie van statuscodes.
- 502 Bad Gateway - de niet-Cloudflare-specifieke versie van een upstream-storing.
Veelgestelde vragen
Is error 521 hetzelfde als dat de server fysiek uit staat?
Niet per se. Het betekent dat iets de TCP-verbinding weigerde, wat kan zijn dat het webserverproces gestopt is terwijl de machine zelf aan blijft, een firewall die het verzoek weigert, of een verkeerde TLS-modus, naast dat de server daadwerkelijk down is.
Wat is de snelste manier om te bevestigen dat een firewall de oorzaak is?
Bevraag de origin rechtstreeks met zijn IP-adres en de Host-header van het domein, waarbij u Cloudflare omzeilt. Wordt ook dat geweigerd, dan ligt de blokkade waarschijnlijk bij de eigen firewall of security group van de origin, niet bij iets specifieks aan de IP-reeksen van Cloudflare.
Waarom zou 521 opeens beginnen zonder enige wijziging aan mijn server?
Cloudflare werkt zijn gepubliceerde IP-reeksen periodiek bij. Een firewallregel opgebouwd uit een oude kopie van die lijst matcht niet meer met nieuw toegevoegde reeksen, dus worden verzoeken vanaf die reeksen geweigerd, ook al is er aan uw eigen server niets veranderd.
Lost overschakelen naar Flexible voor de SSL/TLS-modus 521 permanent op?
Het kan een mismatch bij Full of Full strict maskeren omdat Flexible geen HTTPS bij de origin vereist, maar het betekent ook dat de verbinding tussen Cloudflare en uw server onversleuteld is. Behandel het als diagnosestap, herstel dan de TLS-listener van de origin en schakel terug.
Hoe verschilt 521 van 523?
521 betekent dat Cloudflare de origin bereikte en werd geweigerd. 523 betekent dat Cloudflare hem helemaal niet kon bereiken, wat wijst op DNS, routering, of een kapotte tunnel in plaats van iets wat de origin-server zelf deed.