Razumevanje HTTP zahteva i greške 521 „Web server je nedostupan“
Pristupanje resursima na internetu obično podrazumeva slanje zahteva određenom hostu na serveru gde su ti resursi smešteni. Ovo se može obaviti pomoću računara, pametnog telefona ili bilo kog drugog uređaja koji ima internet vezu.
U ovom procesu, uređaj koji šalje zahtev za resurs naziva se klijent, dok se zahtev za resurs sa servera označava kao HTTP zahtev.
HTTP (Hypertext Transfer Protocol) je protokol, odnosno skup pravila, koja upravljaju razmenom informacija na internetu. Kada klijent pošalje zahtev za određenim resursom serveru, kaže se da je kreirao HTTP zahtev.
Pored toga što, u slučaju uspešnog zahteva, server šalje traženi resurs, on takođe šalje trocifrene statusne kodove koji ukazuju na to kako je zahtev obrađen.
Zahtev može biti uspešan, može biti preusmeren, ili resursi možda neće biti pronađeni na serveru. Ove informacije o statusu zahteva se prenose putem statusnih kodova.
Statusni kodovi su podeljeni u različite klase, koje se identifikuju na osnovu prve cifre u kodu. Statusni kodovi koji počinju sa 1 su informativni i označavaju da je zahtev primljen i da je u toku. Kodovi koji počinju sa 2 pokazuju da je zahtev klijenta uspešno primljen, shvaćen i prihvaćen.
Kodovi koji počinju sa 3 označavaju preusmeravanje, oni sa 4 ukazuju na grešku klijenta, dok kodovi koji počinju sa 5 ukazuju na grešku servera.
Postoje zvanični statusni kodovi, definisani HTTP standardom, kao i nezvanični, koji proširuju zvanično definisane klase statusnih kodova. Jedan od takvih kodova je 521, koji ukazuje na to da web server ne radi. Ovo je nezvaničan statusni kod koji koristi Cloudflare-ov obrnuti proksi servis.
Obrnuti proksi server je posrednički server koji se postavlja ispred web servera, presreće zahteve klijenata i prosleđuje ih web serverima. Ova arhitektura osigurava da nijedan klijent ne komunicira direktno sa web serverom koji sadrži tražene resurse.
Obrnuti proksi server štiti identitet web servera, povećava njihovu pouzdanost, sigurnost i performanse, kao i pomaže u raspodeli opterećenja na web lokacijama sa velikim prometom.
Primer Cloudflare-ovih obrnuto proksi usluga je njegova mreža za isporuku sadržaja (CDN). CDN se sastoji od geografski raspoređenih servera koji keširaju web sadržaj u blizini fizičke lokacije korisnika. Ovo rezultira bržim učitavanjem sadržaja na internetu.
Greška 521 „Web server je nedostupan“ se javlja kada originalni server, sa kog klijent pokušava da dobije resurse, odbija veze sa Cloudflare proksi serverom. Da bi isporučio sadržaj koji klijent zahteva, Cloudflare proksi servis uspostavlja vezu na portu 80 ili 443 sa originalnim serverom koji poseduje traženi resurs.
Ponekad, originalni server direktno odbija da se poveže sa Cloudflare-ovim proksijem i vraća grešku odbijene veze. Kada Cloudflare naiđe na ovu grešku, prikazuje grešku 521 „Web server je nedostupan“ klijentu koji šalje zahtev.
Uzroci greške 521
Iako greška 521 obično ukazuje da originalni web server ne radi, to nije uvek rezultat kvara samog servera. Postoje i drugi problemi koji mogu izazvati ovu grešku. Neki od potencijalnih uzroka greške 521 su:
#1. Vaš originalni web server ne radi
Ako originalni web server sa kog tražite resurs nije dostupan, Cloudflare obrnuti proksi servis ne može uspostaviti vezu sa njim. Ovo rezultira greškom 521. Do greške može doći i kada neki procesi web servera ne rade ispravno, što sprečava Cloudflare da se poveže.
#2. Vaš originalni web server blokira zahteve sa Cloudflare-a
Cloudflare obrnuti proksi servisi preuzimaju zahteve klijenata i prosleđuju ih serverima koji sadrže tražene resurse. Zbog toga, sigurnosna konfiguracija originalnog servera ili zaštitni zid mogu identifikovati IP adrese Cloudflare-a koje upućuju previše zahteva i označiti ih kao napade.
Ovo dovodi do blokiranja Cloudflare IP adresa, što sprečava Cloudflare da se poveže sa originalnim serverom. Kao rezultat, pojavljuje se greška 521, iako sam originalni server možda funkcioniše ispravno.
#3. Pogrešna konfiguracija originalnog servera
Cloudflare mreža za isporuku sadržaja (CDN) je obrnuti proksi servis. Serveri moraju biti pravilno konfigurisani da bi radili sa CDN-om. Ako dođe do greške u konfiguraciji pri postavljanju CDN-a, klijenti će dobijati grešku 521 kada šalju zahteve originalnom serveru. Takođe, zaštitni zidovi koji su konfigurisani da odbacuju pakete umesto da odbijaju veze, mogu izazvati grešku 521.
#4. Problem sa Cloudflare-ovim SSL sertifikatom
Cloudflare podržava šifrovanje saobraćaja između servera i klijenta pomoću SSL sertifikata. SSL sertifikati se koriste za autentifikaciju identiteta web lokacija i uspostavljanje šifrovane veze.
Ako postoji problem sa SSL sertifikatom web lokacije ili režimom šifrovanja koji koristi Cloudflare, originalni server će odbiti zahtev za povezivanje, što dovodi do greške 521.
Kako popraviti grešku 521
Postoji nekoliko načina za rešavanje greške 521. Neki od njih su:
#1. Proverite da li je originalni server dostupan
Greška 521 se može pojaviti kada originalni server nije dostupan ili ne radi. Da biste proverili da li server radi, otvorite terminal i izvršite `ping` komandu sa adresom web lokacije koju proveravate.
ping techblog.co.rs.com
U slučaju da server radi, dobićete odgovore servera kao što je prikazano:
U ovom slučaju, server `wdzwz` je dostupan. Međutim, drugi testirani server nije bio dostupan u trenutku testiranja, o čemu svedoči 100% gubitak paketa i nulti primljeni paketi. Pokušaj otvaranja ove web stranice rezultirao je greškom 502:
Pritisnite `CTRL + C` da biste izašli iz izlaza `ping` komande.
Drugi način da proverite da li je server dostupan je da posetite sajt isitdownrightnow i unesete URL web lokacije koju želite da proverite. Sajt će vam prikazati da li server radi ili ne, kao što je prikazano:
Ako ste nedavno počeli koristiti Cloudflare CDN sa svojim serverom, proverite da li je vaš originalni server pravilno konfigurisan da sluša na portu 443 i dozvolite Cloudflare IP adresama da pristupaju portu 443. Pored toga, uverite se da je vaš zaštitni zid pravilno konfigurisan kako ne bi odbacivao pakete, jer to može dovesti do greške 521.
#2. Dodajte Cloudflare IP adrese na belu listu
Još jedan uzrok greške 521 je blokiranje Cloudflare IP adresa zbog prevelikog broja zahteva. Da biste ovo sprečili, proverite sa svojim hosting provajderom da li oni blokiraju ili ograničavaju zahteve koji dolaze sa Cloudflare IP adresa.
Ako koristite sopstveni server, proverite da vaš zaštitni zid ne blokira Cloudflare IP adrese. Takođe, onemogućite Apache prilagođene module kao što su `mod_antiloris` i `mod_reqtimeout`, koji blokiraju IP adrese koje se povezuju više od 22 puta.
#3. Proverite SSL sertifikate ili režim šifrovanja
Zavisno od toga da li je režim šifrovanja postavljen na „Fleksibilno“, „Potpuno“ ili „Striktno“, Cloudflare će drugačije postupati sa SSL sertifikatom koji mu prezentuje originalni server. Ovi režimi šifrovanja su korisni za uspostavljanje veze između Cloudflare-ovog obrnuto proksi servisa i originalnog servera.
Režimi „Potpuno“ ili „Striktno“ su najčešći izbori, jer zahtevaju validan SSL sertifikat. Kada koristi ove režime, Cloudflare zahteva važeće SSL sertifikate sa originalnog servera. Greška 521 se može pojaviti ako postoji problem sa SSL sertifikatom, posebno ako je u upotrebi režim „Striktno“ šifrovanje.
Da biste ovo rešili, instalirajte Cloudflare originalne sertifikate na originalni server ili koristite SSL sertifikate od pouzdanog izdavaoca sertifikata. Prelazak sa „Striktnog“ režima šifrovanja na „Potpuno“ takođe može pomoći u prevazilaženju greške 521, koja je rezultat problema sa SSL sertifikatom originalnog servera.
Zaključak
Korišćenje mreža za isporuku sadržaja (CDN), kao što je Cloudflare CDN, postao je popularan način za isporučivanje sadržaja na internetu. Korišćenje CDN-ova omogućava brže učitavanje web aplikacija, bolju performansu, pouzdanost i sigurnost.
Kada koristite Cloudflare, možete naići na grešku 521, koja ukazuje na problem sa originalnim serverom. U tom slučaju, razmotrite pomenuta rešenja. Ako ništa od toga ne pomogne, kontaktirajte korisničku podršku Cloudflare-a za dalju pomoć.