Vissza a bloghoz

Gyakori HTTP-hibakódok hibaelhárítása

Gyakori HTTP-hibakódok hibaelhárítása

Bármely webszerver, amelyik kap egy HTTP kérést, egy HTTP-állapotkóddal válaszol. Ezek a kódok a szerver rövid üzenetei, amelyek leírják a helyzetet. Nem tartalmaznak tényleges webhelytartalmat. Ehelyett ez egy jelentés arról, hogyan alakultak a dolgok a HTTP-kérés fogadása után. Sok esetben ezek a kódok fontosak a különböző szerver-/kliensproblémák diagnosztizálásához.

Ezek a kódok háromjegyű egész számok, amelyek mindegyike különböző állapotokat jelez. Az első számjegy alapján a HTTP-kódok öt kategóriába sorolhatók:

  • Információs válaszok: Az érték 100 és 199 között mozog. Azt jelzi, hogy a kérés beérkezett és feldolgozás alatt áll.

  • Sikeres válaszok: Az érték 200 és 299 között mozog. Azt jelzi, hogy a művelet sikeresen beérkezett, megértésre és elfogadásra került.

  • Átirányítási üzenetek: Az érték 300 és 399 között mozog. Ez azt jelenti, hogy a kérés teljesítéséhez további műveletekre van szükség.

  • Klienshiba-válaszok: Az érték 400 és 499 között mozog. Vagy a kérés hibás szintaxist tartalmaz, vagy nem teljesíthető.

  • Szerverhiba-válaszok: Az érték 500 és 599 között mozog. Ez azt jelenti, hogy a szervernek nem sikerült feldolgoznia egy érvényes kérést.

Ebben az útmutatóban a leggyakoribb HTTP-hibakódok közül mutatunk be néhányat, amelyekkel mindenki találkozik (4xx és 5xx), egy rendszergazda szemszögéből. Számos helyzet vezethet oda, hogy a webszerver egy adott kóddal válaszoljon. Emellett ez az útmutató a lehetséges okokat és megoldásokat is tárgyalja.

Kliens- vs. szerverhibák

A 400 és 499 közötti hibakódok a felhasználói kliensből (webböngészőből vagy bármely HTTP-kliensből) származnak. Bár a hibák többnyire kliensoldaliak, hasznos tudni, hogy a felhasználó melyik kódot tapasztalja. Ez segíthet meghatározni, hogy egy esetleges probléma a szerveroldalon is orvosolható-e.

A szerverhibák (500 és 599 közötti HTTP-állapotkódok) ezzel szemben akkor fordulnak elő, ha a szerver észleli, hogy hiba történt, vagy nem képes feldolgozni a kérést.

Általános hibaelhárítás

A hibától függetlenül, íme néhány általános hibaelhárítási tipp, amelyet érdemes először kipróbálnia, amikor bármilyen HTTP-hibakóddal találkozik:

  • Ha webböngészőt használ a szerver tesztelésére, jó gyakorlat frissíteni a böngészőt, miután bármilyen változtatást végrehajtott a szerveren.

  • A szervernapló részletes információkat tartalmaz arról, hogyan kezeli a szerver a kéréseket. Például az olyan népszerű webszerverek, mint az Apache és az Nginx, a következő fájlokat hozzák létre: access.log és error.log. Ezen naplók ellenőrzése hasznos információkat tárhat fel.

  • A HTTP-hibakódok egy szabvány részét képezik. A programok ezt a szabványt valósítják meg a kérések kezelésének módja alapján. Ez azt jelenti, hogy egy adott állapotkód attól függően kerül visszaadásra, hogy a szerverszoftver hogyan kezeli az adott hibát.

Ez az útmutató hasznos iránymutatásként szolgálhat a probléma forrásának kiderítésében.

Gyakori HTTP-hibák

  1. Gyakori klienshibák

error 400

A 400-as hibakód hibás kérést (Bad Request) jelez. Azt fejezi ki, hogy a szervernek küldött HTTP-kérés érvénytelen szintaxist tartalmaz. Nézzük meg a hibás szintaxisok lehetséges forrásait:

  • Az oldallal kapcsolatos sütik (cookie-k) sérültek lehetnek. A böngésző sütijeinek és gyorsítótárának törlése megoldhatja a problémát.

  • A kérést küldő webböngésző hibás lehet.

  • Ez egy manuálisan megformázott HTTP-kérés hibájából adódó rossz kérés is lehet, például az alábbi helytelen használata miatt: curl.

error code 401

A 401-es hibakód (Unauthorized / Nem felhatalmazott) akkor fordul elő, ha a kérés olyan erőforrásokhoz próbál hozzáférni, amelyek nem lettek hitelesítve, vagy nem megfelelően lettek hitelesítve. A probléma megoldásához a felhasználónak meg kell adnia a védett erőforrás eléréséhez szükséges hitelesítő adatokat.

Példa erre az a helyzet, amikor a felhasználó egy HTTP-hitelesítéssel védett erőforrást próbál elérni. Ilyen esetben a felhasználó 401-es hibakódot kap, kivéve, ha érvényes felhasználónevet és jelszót ad meg.

error 403

A 403-as hibakód (Forbidden / Tiltott) olyan helyzetre utal, amikor a felhasználói kérés érvényes, de a szerver megtagadja a kérés kiszolgálását. Ennek oka lehet a kért erőforrás eléréséhez szükséges jogosultság hiánya. Néhány forgatókönyv vezethet ehhez a problémához:

  • Fájljogosultságok: Ha a szervernek nincs elegendő jogosultsága a kért fájl eléréséhez, az 403-as hibát eredményezhet. A lehetséges javítások közé tartozik annak ellenőrzése, hogy a szerver a webszerver index fájlját próbálja-e elérni, a www-data felhasználó által birtokolt munkafolyamatot, és hogy az index fájl a megfelelő helyen található-e (Nginx esetében ez a /usr/share/nginx/html/index.html).

  • .htaccess: A webszerverek a .htaccess fájlt használják különböző biztonsági funkciók megvalósítására, például konkrét IP-címek vagy tartományok szűrésére. Egy lehetséges javítás annak ellenőrzése, hogy az HTTP-kérés forrásaként szolgáló IP-cím nincs-e blokkolva.

  • A fájl nem létezik: Ha a kérés olyan helyet próbál elérni, amely nem rendelkezik alapértelmezett index fájllal, és a könyvtárlistázás nincs engedélyezve, a szerver 403-as hibát küld vissza. Ilyen helyzetben a lehetséges javítás a szerverkonfiguráció módosítása a könyvtárlistázás engedélyezéséhez.

error 404

A 404-es hibakód (Nem található) azt jelenti, hogy a felhasználónak sikerült csatlakoznia a webszerverhez, de a kért erőforrás nem található. Ez a hiba számos helyzetben előfordulhat. Íme néhány lehetséges hibaelhárítási lépés:

  • Ellenőrizze, hogy nincs-e gépelési hiba a linkben, amely a felhasználót a szerver erőforrására irányította.

  • Előfordulhat, hogy a felhasználó rosszul gépelte be az URL-t. Ellenőrizze, hogy ez a helyzet, és szükség esetén javítsa ki.

  • Ellenőrizze a fájl meglétét a szerveren. Áthelyezték vagy törölték a szerverről?

  • Előfordulhat, hogy a szerver hibás dokumentum-gyökérkönyvtárral (document root) van konfigurálva. Ellenőrizze ezt, és szükség esetén javítsa ki.

  • Rendelkezik a felhasználó által birtokolt webszerver-munkafolyamat jogosultsággal a kért fájl eléréséhez? Vegye figyelembe, hogy a könyvtárak eléréséhez olvasási és végrehajtási jogosultságra egyaránt szükség van.

  • Az erőforrás egy szimbolikus link? Ebben az esetben a szervert úgy kell konfigurálni, hogy kövesse a szimbolikus linkeket.

  1. Gyakori szerverhibák

error code 500

Az 500-as hibakód (Belső szerverhiba) akkor fordul elő, ha a szerver ismeretlen okokból nem képes feldolgozni a kérést. Bizonyos helyzetekben a szerver 500-as hibát jelez akkor is, ha egy specifikusabb 5xx hibakód megfelelőbb lenne.

Az 500-as hiba egyik leggyakoribb forrása a rosszul konfigurált szerver, például egy hibás formátumú .htaccess fájl. Akkor is előfordulhat, ha hiányoznak csomagok, például ha PHP-kódot próbálnak futtatni anélkül, hogy a PHP telepítve lenne a rendszeren.

error code 502

Az 502-es hibakód (Rossz átjáró) azt jelzi, hogy a szerver egy proxy vagy átjáró, és nem tud érvényes választ kapni a háttérszervertől (amely a kérés tényleges teljesítéséért felelős). Ha a szerver egy fordított proxy, például egy terheléselosztó, néhány különböző dolgot kell ellenőrizni:

  • A háttérszerverek megfelelően működnek.

  • A fordított proxy megfelelően van konfigurálva (a megfelelő háttér-specifikációkkal).

  • A fordított proxy és a háttérszerver közötti kapcsolat megfelelő. Ha a szerverek különböző portokon keresztül kommunikálnak, a tűzfalnak engedélyeznie kell a kapcsolatot ezeken a portokon.

  • Ha a webalkalmazás socket használatára van konfigurálva, győződjön meg arról, hogy a socket a megfelelő helyen létezik, a megfelelő jogosultságokkal.

error code 503

Az 503-as hibakód (A szolgáltatás nem érhető el) azt jelzi, hogy a szerver túlterhelt vagy jelenleg karbantartás alatt áll. Ez azt jelenti, hogy a szervernek egy bizonyos idő után újra elérhetővé kell válnia.

Ha a szerver nincs karbantartás alatt, az azt jelzi, hogy a szerver nem rendelkezik a beérkező kérések kezeléséhez szükséges hardveres erőforrásokkal (feldolgozási teljesítmény, memória stb.). Ilyen esetben a szervert úgy kell konfigurálni, hogy több felhasználót engedélyezzen, vagy több erőforrást rendeljen hozzá.

Az 504-es hibakód (Átjáró időtúllépés) azt jelzi, hogy a szerver egy proxy vagy átjáró szerver, és a megengedett időkereten belül nem kapott választ a háttérszervertől. Számos olyan helyzet van, amely ehhez a problémához vezethet:

  • Rossz hálózati kapcsolat a szerverek között.

  • A háttérszerver túl lassan működik (teljesítményproblémák miatt).

  • Az átjáró/proxy szerver időtúllépési korlátja túl szigorú.

Záró gondolatok

Ez az útmutató a HTTP-hibakódokat tárgyalja, különösen a leggyakoribbakat. Leírja, mit jelentenek a kódok, és javaslatokat tesz a lehetséges hibaelhárítási lépésekre. Ezzel a tudással már szilárd alapokkal rendelkezik a webszerverekkel vagy alkalmazásokkal kapcsolatos problémák elhárításához.

Ez csak egy rövid lista a legnépszerűbb HTTP-állapotkódokról. Az összes HTTP-állapotkód átfogó listájáért tekintse meg a HTTP-állapotkódokat a Wikipédián. Emellett megtekintheti a következő témáról szóló útmutatónkat is: Nginx HTTP-proxyzás, terheléselosztás, pufferelés és gyorsítótárazás: áttekintés.

Kellemes számítógép-használatot!

author

Pranay Kapgate

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.