20 Kwi

B艂臋dy HTTP na hostingu wsp贸艂dzielonym i jak ich 馃敡 naprawia膰

http-errors-hosting

Ka偶dy u偶ytkownik sieci Internet spotyka艂 si臋 b艂臋dami HTTP chocia偶 raz przy odwiedzaniu stron internetowych. Istnieje wiele powod贸w problem贸w z dost臋pno艣ci膮 strony, strona mog艂a zmieni膰 link (b艂膮d 404) lub powsta艂 problem z serwerem lub hostingiem (b艂膮d 500). Serwer na ka偶de takie zapytanie o stron臋, obraz lub plik wysy艂a kod odpowiedzi HTTP, jest to kod trzycyfrowy. Takie kody s膮 zgrupowane do 5 r贸偶nych podklas.

Czym s膮 b艂臋dy HTTP?

B艂膮d HTTP mo偶e powsta膰 w wyniku niepoprawnej lub nieoczekiwanej odpowiedzi serwera lub strony przez przegl膮dark臋 lub inny program, kt贸ry 艂膮czy si臋 z serwerem zdalnym lub hostingiem. Kod odpowiedzi informuje o tym w jaki spos贸b zapytanie zosta艂 przetworzone. Z kodu odpowiedzi mo偶emy sprawdzi膰 gdzie jest problem lub po czyjej stronie nale偶y szuka膰 przyczyn臋 komunikatu z problemem.

Istniej膮 nast臋pne klasy b艂臋d贸w oraz Kod贸w HTTP w zale偶no艣ci od pierwszej liczby:

  • 1xx:聽Informacyjne
  • 2xx:聽Powodzenia w nawi膮zaniu po艂膮czenia
  • 3xx:聽Przekierowania
  • 4xx:聽B艂臋dy po stronie u偶ytkownika
  • 5xx: B艂臋dy po stronie serwera, hostingu

B艂膮d聽500 (Internal Server Error, Wewn臋trzny B艂膮d Serwera) na hostingu

B艂臋dy systemu CMS

Lista najbardziej rozpowszechnionych przyczyn pojawienia si臋 b艂臋d贸w na stronach opartych o CMS:

  • brak w艂膮czonego modu艂u w konfiguracji PHP (mysqli, ioncube) na hostingu lub niezgodno艣膰 wersji PHP. W cPanel modu艂y znajduj膮 si臋 w „Wyb贸r wersji PHP”, nale偶y sprawdzi膰 minimaln膮 i polecan膮 wersj臋 PHP do CMS oraz instalowanej wtyczki;
  • niekompatybilno艣膰 wtyczki z zainstalowan膮 wersj膮 PHP;
  • zmiana linku strony (URL) bez aktualizacji na innych stronach, nawigacjach;
  • b艂膮d w sk艂adni skryptu po aktualizacji lub edycji;
  • domena nie zosta艂a odnowiona i wygas艂a;
  • osi膮gni臋ty limit w przydzielonych zasobach na hostingu;
  • problem z uprawnieniami na plikach lub folderach;
  • zapora sieciowa hostingu zablokowa艂a IP.

 

B艂臋dy w skryptach

Przyczyna b艂臋d贸w powsta艂ych w聽skryptach mo偶e by膰 zwi膮zana z u偶yciem funkcji, kt贸ra jest niedost臋pna w wybranej wersji PHP, brakiem modu艂u PHP, problem ze sk艂adni膮 pliku (brak nawiasu lub 艣rednika) lub niedost臋pno艣膰 pliku/biblioteki zdalnej. Wi臋cej informacji o tych b艂臋dach mo偶na uzyska膰 z plik贸w access.log oraz error.log, kt贸re s膮 automatycznie tworzone na hostingu w przypadku pojawienia si臋 b艂臋d贸w. Na serwerach z cPanel lub DirectAdmin mo偶na w艂膮czy膰 opcje聽display_errors, kt贸ra b臋dzie wy艣wietla艂a wszystkie komunikaty od razu na stronie w przegl膮darce.

B艂臋dy przy przekroczeniu limit贸w czasu na przetwarzanie zapyta艅

Na hostingach wsp贸艂dzielonych (na serwerach z kilkunastoma u偶ytkownikami)聽s膮 ustawione limity na czas, przez kt贸ry skrypt mo偶e by膰 aktywny, maksymalna pami臋膰 podr臋czna, kt贸ra mo偶e by膰 wykorzystana przez konto lub skrypty PHP oraz maksymalna ilo艣膰 jednoczesnych proces贸w. Je偶eli kt贸ry艣 z limit贸w zostanie osi膮gni臋ty – serwer (hosting) wstrzyma aktywne procesy i strona przez chwil臋 mo偶e wy艣wietla膰 komunikat 偶e Zosta艂 przekroczony limit czasu na przetwarzanie zapytania.

B艂膮d聽502 –聽Bad Gateway

Kod聽odpowiedzi 502 albo inaczej b艂膮d聽Bad Gateway – oznacza 偶e serwer (lub serwer proxy) nie otrzymuje poprawnej odpowiedzi od serwer贸w przetwarzaj膮cych zapytania lub dane s膮 niepe艂ne. Je偶eli odpytywany serwer wyst臋puje聽jako serwer „reverse proxy” jako np. „load balancer”, nale偶y sprawdzi膰 nast臋pne rzeczy:

  • czy serwery przetwarzaj膮ce zapytania lub wykonuj膮ce operacje na danych (gdzie zapytania HTTP s膮 przekierowywane) s膮 w艂膮czone i us艂ugi s膮 uruchomione;
  • serwer z reverse proxy jest poprawnie skonfigurowany;
  • czy serwery z danymi oraz „reverse proxy” mog膮 nawi膮zywa膰 po艂膮czenia mi臋dzy sob膮, nale偶y sprawdzi膰 ustawienia zapory sieciowej oraz otwarte/zablokowane porty;
  • czy socket obs艂uguj膮cy aplikacje jest uruchomiony na w艂a艣ciwym porcie oraz lokalizacji, i czy posiada wszystkie potrzebne uprawnienia.

Rozwi膮zaniem tego problemu mo偶e r贸wnie偶 by膰 wyczyszczenie pami臋ci podr臋cznej przegl膮darki lub ponowna pr贸ba na po艂膮czenie si臋 ze stron膮 za kilka godzin.

B艂膮d 503 – Service Unavailable

Kod/b艂膮d 503 lub 503 Us艂uga niedost臋pna (Service Unavailable) oznacza 偶e serwer lub hosting jest przeci膮偶ony lub trwaj膮 prace serwisowe/modernizacyjne. Czyli oznacza 偶e serwer musi wr贸ci膰 do normy wkr贸tce, je偶eli jednak na serwerze nie s膮 przeprowadzane 偶adne prace – to mo偶e oznacza膰 偶e zabrak艂o pami臋ci RAM lub procesora do przetwarzania wszystkich przychodz膮cych po艂膮cze艅. Cz臋ste pojawienie si臋 tego b艂臋du mo偶e oznacza膰 偶e strona wymaga wi臋cej zasob贸w serwera, lub lepszej ochrony od atak贸w.

B艂膮d 504 – Gateway Timeout

Komunikat z b艂臋dem 504 – Przekroczenie czasu bramki oznacza 偶e up艂yn膮艂 maksymalny limit czasu na oczekiwanie odpowiedzi od serwera, kt贸ry r贸wnie偶 mo偶e si臋 艂膮czy膰 z innymi zewn臋trznymi serwerami. Zwyk艂e to mo偶e by膰 spowodowane z艂ym po艂膮czeniem sieciowym pomi臋dzy serwerami, brakiem wolnych zasob贸w na serwerze lub ustawienia limit贸w na przetwarzanie zapyta艅 s膮 za niskie.

B艂膮d 507 – Insufficient Storage

Kod 507 z informacj膮 o聽Braku miejsca pojawia si臋 przy zapytaniach typu POST lub PUT do serwera z du偶ym plikiem, kt贸ry przekracza ustawione limity na serwerze lub dost臋pne zasoby (pami臋膰 RAM lub dysk).

W klientach email to mo偶e oznacza膰 偶e wiadomo艣膰 jest za du偶a i trzeba usun膮膰 pliki z niej lub podzieli膰 na kilka.

B艂膮d 508 – Resource Limit is Reached

Przyczyn膮 pojawienia si臋 b艂臋du 508 o Przekroczeniu przydzielonych limit贸w mo偶e by膰 zbyt du偶e wykorzystanie zasob贸w serwera wsp贸艂dzielonego lub hostingu przez聽stron臋 lub konto hostingowe. Je偶eli taki komunikat聽zaczyna cz臋sto si臋 pojawia膰 – nale偶y przej艣膰 na wy偶szy pakiet hostingowy (z wi臋kszym limitem na RAM, ilo艣膰 jednoczesnych proces贸w i wykorzystanie procesora) lub dokona膰 migracji na wydajniejszy serwer wirtualny VPS.

W przypadku wykorzystania systemu CMS (WordPress lub Joomla) polecamy przeanalizowa膰 zainstalowane聽wtyczki i usun膮膰 niepotrzebne, lub聽w艂膮czy膰 tworzenie pami臋ci podr臋cznej (w tym artykule opisali艣my jak przy艣pieszy膰 WP).

B艂膮d 509 – Bandwidth Limit Exceeded

Mo偶e wyst臋powa膰 przy wykorzystaniu pakiet贸w hostingowych z limitem na transfer danych, je偶eli pojawi艂 si臋 b艂膮d 509 – nale偶y zmieni膰 pakiet na wy偶szy lub wybra膰 hosting bez limit贸w na transfer.

B艂膮d 403 – Forbidden

Komunikat 403 Forbidden – oznacza 偶e zapytanie do strony i serwera zosta艂o przetworzone poprawnie, jednak brakuje pozwole艅 lub dost臋p贸w do odpytywanego pliku czy strony.

Pierwsz膮 przyczyn膮 mog膮 by膰 ograniczenia w pliku .htaccess dotycz膮ce adres贸w IP lub stron, na kt贸re u偶ytkownik mo偶e wej艣膰.聽W .htaccess mo偶emy skonfigurowa膰 plik, z list膮 u偶ytkownik贸w oraz hase艂 z kt贸rymi odwiedzaj膮cy b臋dzie m贸g艂 otworzy膰 stron臋.

Kolejn膮 przyczyn膮 mo偶e by膰 brak pliku index.html lub index.php w folderze g艂贸wnym domeny. Je偶eli opcja wy艣wietlenia listy plik贸w oraz folder贸w jest wy艂膮czona na serwerze –聽zobaczymy komunikat z B艂臋dem 403. Mo偶liwo艣膰 wylistowania folder贸w i plik贸w mo偶na w艂膮czy膰 w ustawieniach serwerach www lub w pliku .htaccess.

Bia艂a strona

Pojawienie si臋 bia艂ej strony zamiast strony www – mo偶e oznacza膰 偶e wyst膮pi艂 jaki艣 b艂膮d po stronie serwera, ale wy艣wietlenie informacji o b艂臋dzie zosta艂o wy艂膮czone, lub plik „index” jest po prostu pusty.

Aby w艂膮czy膰 wy艣wietlenie pojawiaj膮cych si臋 b艂臋d贸w oraz komunikat贸w nale偶y w艂膮czy膰 odpowiednie opcje w panelach administracyjnych na hostingach.

cPanel:

cpanel-display-errors

Directadmin:

directadmin-display-errors

W opcjach error_reporting mo偶emy zdefiniowa膰 jaki rodzaj b艂臋d贸w powinien si臋 wy艣wietla膰 u偶ytkownikowi lub powinien by膰 zapisywany do pliku error_log.

Przekroczenie czasu oczekiwania na odpowied藕 serwera lub Po艂膮czenie zosta艂o zresetowane

Generalnie komunikat z tak膮 informacj膮 oznacza 偶e po艂膮czenie z serwerem (stron膮) uda艂o si臋 nawi膮za膰, ale nie mo偶na pobra膰 偶adnej odpowiedzi lub danych. Przegl膮darka internetowa oczekuje na odpowied藕 przez okre艣lony czas i w razie braku informacji zwrotnej wy艣wietla komunikat聽ERR_CONNECTION_TIMED_OUT.

Istnieje kilka powod贸w聽powstania takiego problemu:

  • problem z po艂膮czeniem internetowym na naszym urz膮dzeniu.
  • blokada naszego urz膮dzenia lub adresu IP przez Zapor臋 sieciow膮 serwera.
  • chwilowe problemy ze stron膮 lub podanie niepoprawnego adresu.
  • problem z serwerem VPN lub proxy, je偶eli jest zainstalowany na naszym聽komputerze.
  • wolne albo przeci膮偶one po艂膮czenie internetowe.
  • przekierowanie w hosts na z艂y adres serwera (Jak przekierowa膰 stron臋 lokalnie).

Podsumowanie

Postarali艣my si臋 opisa膰 najbardziej popularne i najcz臋艣ciej wyst臋puj膮ce komunikaty o b艂臋dach w po艂膮czeniach HTTP wraz z ich kodami. Naprawienie ich znacznie mo偶e zwi臋kszy膰 wygod臋 korzystania ze strony oraz pozycje w SEO dla wyszukiwarek.

Istnieje r贸wnie偶 mo偶liwo艣膰 utworzenia indywidualnych stron do zarz膮dzania informacj膮 o b艂臋dzie HTTP. Na przyk艂ad cPanel pozwala w panelu administracyjnym zmieni膰 domy艣lne strony z komunikatami aby u偶ytkownik by艂 pewien 偶e administrator otrzyma艂 informacje 偶e taka sytuacja si臋 pojawi艂a i podejmie pr贸by j膮 naprawi膰.