För att få tillgång till resurser på internet, görs vanligtvis förfrågningar till en specifik värd på en server där resurserna är lagrade. Detta kan utföras av en dator, en smartphone eller vilken enhet som helst med internetuppkoppling.
I detta scenario kallas enheten som begär en resurs från servern för en klient, och själva resursförfrågan betecknas som en HTTP-förfrågan.
HTTP fungerar som ett protokoll, eller en uppsättning regler, som styr hur information utbyts över internet. När en klient skickar en förfrågan om en resurs till en server, benämns det en HTTP-förfrågan.
När en klient begär en resurs från en server, skickar servern, utöver själva resursen om begäran lyckas, även en tresiffrig statuskod som speglar hur begäran hanterades.
En förfrågan om en resurs kan lyckas, omdirigeras, eller så kan resursen vara omöjlig att hitta på servern. Information om statusen för en begäran kommuniceras via dessa statuskoder.
Statuskoder är indelade i olika klasser, som identifieras av den första siffran i koden. Koder som inleds med 1 är informationskoder och indikerar att begäran mottagits och är under behandling. De som börjar med 2 signalerar att en klients begäran har tagits emot, förståtts och godkänts.
Koder som börjar med 3 indikerar omdirigering, medan de som börjar med 4 pekar på klientfel, och de som inleds med 5 representerar serverfel.
Det finns både officiella statuskoder, definierade av HTTP-standarden, och inofficiella som utökar de officiellt definierade klasserna. Ett exempel är statuskod 521, som indikerar att webbservern är nere. Denna kod är inofficiell och används av Cloudflares omvända proxytjänst.
En omvänd proxyserver fungerar som en mellanhand och sitter framför webbservrar, fångar upp klientförfrågningar och vidarebefordrar dem till webbservrarna. Denna arkitektur ser till att ingen klient kommunicerar direkt med en webbserver.
En omvänd proxyserver skyddar webbservrarnas identitet, förbättrar deras tillförlitlighet, säkerhet och prestanda, samt hjälper till med lastbalansering för webbplatser med mycket trafik.
Ett exempel på Cloudflares omvända proxytjänster är deras Content Delivery Network (CDN). Ett CDN består av geografiskt spridda servrar som lagrar webbinnehåll i cache nära användarnas fysiska plats, vilket resulterar i snabbare laddningstider.
Fel 521, ”Web Server is Down”, uppstår när den ursprungliga servern, som en klient försöker hämta resurser ifrån, nekar anslutningar från Cloudflares proxy. För att leverera det efterfrågade innehållet, upprättar Cloudflares proxy en anslutning via port 80 eller 443 med ursprungsservern.
Ibland avvisar ursprungsservern direkt anslutningsförsöket från Cloudflares proxy och returnerar ett anslutningsfel. När Cloudflare stöter på ett sådant fel, resulterar det i fel 521, som visas för klienten.
Orsaker till fel 521
Även om fel 521 indikerar att din ursprungliga webbserver är nere, är det inte alltid fallet. Det finns andra orsaker som kan utlösa felet. Här är några av de potentiella anledningarna:
#1. Din ursprungliga webbserver är nere
Om din ursprungliga webbserver, som du begär en resurs från, är offline, kan Cloudflares omvända proxy inte etablera en anslutning. Detta leder till fel 521. Ett sådant fel kan också uppstå om delar av ursprungsserverns processer inte fungerar korrekt, vilket gör att Cloudflare inte kan ansluta till den.
#2. Din ursprungliga webbserver blockerar förfrågningar från Cloudflare
Cloudflares omvända proxytjänster vidarebefordrar klientförfrågningar till servrarna som har de efterfrågade resurserna. Därför kan ursprungsserverns säkerhetskonfiguration eller brandvägg uppfatta Cloudflares IP-adresser som gör för många förfrågningar och flagga dem som attacker.
Detta kan leda till att Cloudflares IP-adresser blockeras, vilket gör det omöjligt för Cloudflare att ansluta till ursprungsservern, och resulterar i fel 521 trots att servern kan vara i drift.
#3. Felkonfiguration av ursprungsservern
Cloudflares Content Delivery Network (CDN) är en omvänd proxytjänst. Servrar måste vara korrekt konfigurerade för att fungera med ett CDN. Om det finns felkonfigurationer vid inställningen av ett CDN, kommer klienter att stöta på fel 521 när de gör förfrågningar till ursprungsservern. Brandväggar som är inställda att släppa paket istället för att avvisa anslutningar kan också resultera i fel 521.
#4. Problem med Cloudflares SSL-certifikat
Cloudflare använder SSL-certifikat (Secure Socket Layer) för att kryptera trafik mellan server och klient. SSL-certifikaten verifierar webbplatsens identitet och upprättar en säker, krypterad anslutning.
Om det finns problem med webbplatsens SSL-certifikat eller krypteringsläget som Cloudflare använder, kommer ursprungsservern att neka anslutningsbegäran, vilket resulterar i fel 521.
Så här åtgärdar du fel 521
Det finns flera metoder för att lösa fel 521, inklusive:
#1. Kontrollera att ursprungsservern är online
Fel 521 kan uppstå när ursprungsservern är offline eller nere. För att kontrollera om ursprungsservern fungerar kan du öppna ett terminalfönster och köra ping-kommandot med webbplatsens adress som du vill testa.
ping adminvista.com.com
Om servern är aktiv kommer du att få svar från servern enligt följande:
I exemplet ovan är adminvista.com:s ursprungsserver igång. Den andra testade servern var dock nere vid tidpunkten för testet. Inga paket mottogs och förlusten var 100 %. Att försöka öppna webbplatsen resulterade i sidan nedan, som visar ett 502-fel:
Tryck CTRL + C för att stoppa ping-kommandot.
Ett annat sätt att kontrollera serverstatus är att besöka webbplatsen isitdownrightnow och ange adressen till webbplatsen du vill testa. Webbplatsen kommer att visa om servern är aktiv eller inte, som nedan:
Om du är ny användare av Cloudflares CDN med din server, se till att din ursprungsserver är korrekt konfigurerad för att lyssna på port 443 och att Cloudflares IP-adresser har tillgång till port 443. Kontrollera även att din brandvägg är rätt konfigurerad för att undvika att paket tappas, vilket kan leda till fel 521.
#2. Lägg till Cloudflares IP-adresser på vitlistan
En annan orsak till fel 521 kan vara att Cloudflares IP-adresser misstänkliggörs och blockeras på grund av många förfrågningar. För att förhindra detta, kontakta din värdtjänstleverantör för att säkerställa att de inte blockerar eller begränsar förfrågningar från Cloudflares IP-adresser.
Om du driver en egen dedikerad server, kontrollera att din brandvägg inte blockerar Cloudflares IP-adresser. Dessutom kan du inaktivera och ta bort Apache-moduler som mod_antiloris och mod_reqtimeout, som blockerar IP-adresser som ansluter mer än 22 gånger.
#3. Kontrollera SSL-certifikaten och krypteringsläget
Beroende på om SSL-krypteringsläget är inställt på Flexibelt, Fullständigt eller Strikt, kommer Cloudflare att agera annorlunda beroende på vilket SSL-certifikat som ursprungsservern presenterar. Dessa krypteringslägen används för att upprätta en anslutning mellan Cloudflares omvända proxy och ursprungsservern.
Fullständigt och strikt läge är de vanligaste valen eftersom de kräver SSL-certifikat. När dessa lägen används kräver Cloudflare giltiga SSL-certifikat från ursprungsservern. Ett fel 521 uppstår om det är problem med din webbplats SSL-certifikat, speciellt när du använder strikt krypteringsläge.
För att åtgärda detta, installera Cloudflares ursprungscertifikat på din ursprungsserver, eller använd SSL-certifikat från en pålitlig certifikatutfärdare. Att byta från strikt krypteringsläge till fullständigt kan också lösa fel 521 om det beror på problem med SSL-certifikatet.
Slutsats
Att använda Content Delivery Networks som Cloudflares CDN är ett populärt sätt att leverera innehåll på internet. Med hjälp av CDN kan webbapplikationer ladda snabbare, prestera bättre och bli mer pålitliga och säkra mot attacker.
När du använder Cloudflare kan du stöta på fel 521, vilket kan tyda på ett problem med ursprungsservern. Överväg då de lösningar som nämns ovan. Om inget av detta hjälper, kan du kontakta Cloudflares kundsupport för ytterligare assistans.