Stranka vam sporoči, da »moja spletna stran ne deluje«, jo odprete in namesto strani dobite napako » 502 Bad Gateway « ali » 504 Gateway Timeout «. Obe napaki sta napaki prehoda, vendar pomenita različno in imata različne vzroke. Ta objava pojasnjuje razliko, kako se hitro odzvati in katere so tipične pasti pri nastavitvah gostovanja v letu 2026.
502 proti 504 – pomembna razlika
Obe sta kodi stanja, ki ju vrne obratni proxy ali prehod (Nginx, LiteSpeed, Cloudflare, Apache mod_proxy), ko ne more pravilno komunicirati z zgornjim strežnikom (PHP-FPM, proces Node.js, Python WSGI itd.).
502 Slab prehod: Obratni proxy je od zgornjega strežnika prejel neveljaven odgovor. Zgornji strežnik je odgovoril z nečim nenavadnim (morda se je sesul sredi zahteve, vrnil prazen odgovor ali pa je bil koristni tovor poškodovan).
504 Časovna omejitev prehoda: Povratni proxy je predolgo čakal na odgovor od zgornjega strežnika in je odnehal. Nadhodni strežnik ni prekinil delovanja, ampak se ni pravočasno odzval (običajno 30–60 sekund).
Praktična razlika:
- 502 = zgornji del obstaja, vendar je komunikacija prekinjena → običajno se PHP-FPM sesuje, proces Node.js se izklopi ali se povezava ponastavi
- 504 = upstream obstaja, deluje, vendar je trajalo predolgo → običajno počasna poizvedba, neskončna zanka ali zunanji klic API-ja, ki se ne odziva
Hitra prijava v 90 sekundah
- Osvežite stran – če je napaka 502/504 prehodna (vrnjen PHP-FPM, poizvedba zaključena), deluje drugi poskus.
- Preverite drugo spletno mesto na istem gostovanju – težava na ravni celotnega strežnika ali težava, specifična za spletno mesto
- Preverite, ali konzola prikazuje resnično napako 502/504 – Orodja za razvijalce → zavihek Omrežje → glejte kodo stanja
- Poglejte, kateri strežnik je vrnil napako – Nginx, LiteSpeed in Cloudflare imajo različne privzete strani 502/504.
- Odprite cPanel – če se v cPanel prijavite normalno, strežnik deluje
502 Slab prehod – 5 najpogostejših vzrokov
1. Proces PHP-FPM se je sesul
Najpogostejši vzrok. PHP-FPM bazen se je sesul med obremenitvijo, OOM (pomanjkanje pomnilnika) ali pa je kakšna specifična zahteva povzročila napako segmentacije. Nginx ali LiteSpeed prejme zavrnitev povezave od PHP-FPM in vrne napako 502.
Popravek: v cPanelu → Izberite različico PHP → Ponastavi PHP. Ali pa se obrnite na podporo za ponovni zagon PHP-FPM. V paketih, ki jih upravlja WMD, samodejno spremljanje opazi sesutje PHP-FPM in ponovni zagon v nekaj sekundah.
2. Izčrpavanje pomnilnika v PHP skripti
PHP skripta je zahtevala več pomnilnika, kot je dovoljeno (memory_limit). Skripta se sesuje, PHP-FPM vrne napako (garbage), prehod pa vrne 502.
Preveri: error_log → poišči »Dovoljena velikost pomnilnika X bajtov je izčrpana«.
Popravek: povečajte memory_limit v php.ini ali .user.ini . Standardni minimum za WP je 256M, za WooCommerce pa 512M. Če težava vztraja pri 512M – to ni težava z gostovanjem, ampak s kodo.
3. Cloudflare ne more doseči izvora
Proxy Cloudflare → izvorni strežnik. Če se izvorni strežnik ne odzove, Cloudflare vrne napako 502 s svojo stranjo z napako.
Preverjanje: Stran Cloudflare 502 je videti drugače kot privzeta stran Nginx/LiteSpeed.
Popravi:
- V Cloudflare → Analitika → Napake 5xx. Vidite lahko vir.
- Začasno ustavite Cloudflare → odprite spletno mesto neposredno. Če zdaj deluje – izvor je v redu, komunikacija med Cloudflare in izvorom je težava.
- Preverite, ali izvorni požarni zid blokira IP-je Cloudflare.
4. Proces Node.js / Python se je sesul
Za spletna mesta, ki uporabljajo Node.js (Next.js, NestJS, Express) ali Python (Django, Flask) – proces se je zaključil ali se je zrušil. Obratni proxy Nginx ne more doseči zgornjega toka.
Popravek: v cPanel → Node.js Selector ali Python Selector → Restart App. Preverite dnevnik napak za sled sklada.
5. Konfiguracija obratnega proxyja je pokvarjena
Običajno po spremembi konfiguracije Nginx ali LiteSpeed. Obratni proxy ne ve, kam usmeriti zahtevo → 502.
Popravek: obrnite se na podporo, to je konfiguracija na ravni strežnika. Ne dotikajte se je sami, če niste prepričani.
504 Časovna omejitev prehoda – 5 najpogostejših vzrokov
1. Počasna poizvedba SQL
Najpogostejši vzrok za napako 504. Poizvedba (ali združena poizvedba) traja več kot 30 sekund in zahteva se pred dokončanjem izteče.
Preveri: omogoči slow_query_log v MariaDB s pragom 5 sekund. Določi, za katero poizvedbo gre.
Popravi:
- Dodaj indeks pogosto filtriranim/razvrščenim stolpcem
- Optimizirajte tabelo wp_options v WP – napihnjenost zaradi samodejnega nalaganja je velik vzrok na starejših spletnih mestih
- Če je poizvedba v vtičniku → se obrnite na razvijalca vtičnika ali zamenjajte vtičnik
2. Zunanji klic API-ja, ki se ne odziva
Spletno mesto kliče zunanji API (npr. fiskalno integracijo, Stripe API, vir družbenih medijev). Zunanja storitev je počasna ali ne deluje, vaš PHP skript čaka, časovna omejitev prehoda je potekla.
Popravek: - cURL timeout v kodi nastavljena na razumno vrednost (5-10 sekund) - Klic API-ja premaknjen v čakalno vrsto v ozadju (WP-Cron, RoadRunner) namesto sinhronizacije v toku zahtev - Odgovor zunanjega API-ja shranjen v predpomnilniku za 5-60 minut, kjer je to mogoče
3. Neskončna zanka v kodi
Vtičnik ali koda po meri ima rekurzijo ali zanko, ki se nikoli ne konča. PHP se izvaja, dokler ne doseže max_execution_time ali časovne omejitve prehoda pred tem.
Popravek: onemogočite vtičnike enega za drugim (preimenujte mapo z vtičniki prek FTP-ja). Če spletno mesto deluje brez vtičnikov, jih enega za drugim dodajte nazaj, dokler ne najdete krivca.
4. PHP max_execution_time je prenizek
Privzeta vrednost je pogosto 30 sekund. Za uvoz WP, obsežne operacije varnostnega kopiranja ali ustvarjanje PDF-jev to ni dovolj.
Popravek: povečajte max_execution_time v php.ini ali .user.ini na 120 ali 300 sekund za administratorske operacije. Vendar bi to morala biti izjema, ne pravilo – spletno mesto, ki rutinsko traja 5 minut na zahtevo, ima globlji problem.
5. Časovna omejitev Cloudflare
Cloudflare ima svojo 100-sekundno časovno omejitev za odgovor na izvor. Če vaše spletno mesto za neko skrbniško operacijo potrebuje 110 sekund, Cloudflare vrne napako 504, čeprav bi se spletno mesto dejansko zaprlo.
Popravek: za skrbniške operacije onemogočite proxy Cloudflare za določene poti (npr /wp-admin/* ) ali uporabite nastavitve časovne omejitve Cloudflare Workers.
Preprečevanje 502 in 504
- Predpomnjenje strani na strani strežnika (AccelerateWP, LiteSpeed Cache) – manj zahtev doseže PHP, manjša možnost sesutja PHP-FPM
- Ustrezna omejitev pomnilnika PHP (256M–512M za WP, 1G za Magento)
- Optimizirana tabela wp_options – enkrat mesečno se izbrišejo zastareli vnosi samodejnega nalaganja
- Zunanji klici API-ja v čakalni vrsti v ozadju , ne v toku zahtev
- Optimizacija poizvedb MariaDB — slow_query_log + indeksi
- Spremljanje PHP-FPM – opozarjanje ob sesutju bazena
- Pregledi zdravja – spremljanje delovanja vsakih 5 minut
Dostop do orožja za množično uničevanje 502/504
- Samodejni ponovni zagon PHP-FPM v nekaj sekundah, če se sesuje
- Max Web Server (temelji na Nginxu) z optimiziranimi nastavitvami časovne omejitve
- Uglaševanje MariaDB — innodb_buffer_pool prilagojen velikosti baze podatkov
- Počasno spremljanje poizvedb – problematične poizvedbe vidimo, še preden se spremenijo v napake 504
- AccelerateWP — predpomnilnik WP na strani strežnika zmanjša obremenitev za 90 %
- Podpora 24/7/365 – če se klic na številko 502/504 ne ustavi, boste v 15 minutah prejeli tehnika.
Kdaj poklicati podporo
Poskusili ste osvežiti, ponovno zagnati PHP, onemogočiti vtičnike, pa napaka 502/504 še vedno obstaja? Pošlji:
- Domena in natančen URL, ki povzročata napako
- Začetni čas (časovni žig)
- Posnetek zaslona strani z napako (pove nam, kdo jo je poslal)
- Kaj ste nazadnje storili pred težavo (namestitev? posodobitev vtičnika? sprememba konfiguracije?)
- Če imate dostop do dnevnika napak, pošljite zadnjih 50 vrstic
Pri paketih, ki jih upravlja WMD – preverimo PHP-FPM, MariaDB, dnevnik napak in dnevnik počasnih poizvedb. Običajno diagnoza poteka v 15 minutah, odprava pa v 30. Če težava izvira iz kode vtičnika – tudi to rešimo (dodajanje na beli seznam, konfiguracija po meri) ali pomagamo pri migraciji vtičnikov.