15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
27.05.2026

502 Bad Gateway Explicat: Ce Înseamnă, De Ce Apare și Cum să Îl Depanați

Cuvinte cheie

Acest glosar rapid acoperă termenii de infrastructură care pot crea cel mai frecvent confuzie în faza de explicare mai detaliată.

Cuvânt cheieExplicație scurtă
🌐 502 Bad GatewayO eroare HTTP care indică faptul că un server nu a putut utiliza răspunsul primit de la serverul următor din spatele său.
🚪 GatewayUn server care se află între vizitator și un alt serviciu, transmițând cererile mai departe.
🔁 Proxy / Reverse ProxyUn server de față care acceptă mai întâi o cerere, apoi o transmite către un serviciu intern.
⬆️ UpstreamServerul sau serviciul următor din spatele proxy-ului — cel care ar trebui să răspundă la cerere.
⚙️ BackendPartea de aplicație care efectuează munca propriu-zisă, cum ar fi un proces de aplicație, un serviciu sau un runtime.
🏠 OriginServerul pe care un CDN sau un serviciu edge încearcă să îl acceseze în numele vizitatorului.
⚖️ Load BalancerUn nivel frontal care distribuie cererile între una sau mai multe ținte backend.
☁️ CDN / EdgeUn nivel de rețea mai aproape de vizitatori care poate stoca în cache, filtra sau transmite traficul înainte ca acesta să ajungă la origin.
🧭 DNSSistemul de denumire care ajută un hostname să fie rezolvat la adresa serverului pe care ar trebui să îl utilizeze un serviciu.
🔐 TLSNivelul de criptare și identitate din spatele HTTPS; o nepotrivire aici poate întrerupe transferurile între servere.
🔌 Port / SocketEndpoint-ul de rețea sau calea locală a socket-ului unde backend-ul ar trebui să asculte conexiunile.

De ce o eroare 502 pare atât de perturbatoare

disruptive

Lansezi un deployment, reîncarci site-ul și domeniul răspunde instantaneu — doar că nu cu aplicația ta. Sau un client face clic pe Checkout, pagina se încarcă, iar tranzacția eșuează în spatele unui mesaj sec 502 Bad Gateway. Tocmai asta face această eroare atât de stresantă: site-ul este accesibil, dar nu este suficient de sănătos pentru a finaliza transferul.

O eroare 502 se află într-o stare intermediară incomodă. Nu arată ca o dispariție totală, dar nici nu se comportă ca un serviciu funcțional. Pentru dezvoltatori, poate însemna un deploy defect sau un lanț API rupt. Pentru proprietarii de afaceri, pierderea încrederii sau întreruperea veniturilor. Pentru echipe, cel mai dificil aspect este adesea responsabilitatea: care nivel deține de fapt problema?

Abordarea utilă nu este să ghicești. Mai întâi, definește ce înseamnă eroarea. Apoi identifică unde se află în lanțul de cereri. Apoi depanează eșecul în mod logic, un transfer pe rând. Odată ce poți vedea lanțul, eroarea încetează să mai pară aleatorie.

Ce înseamnă de fapt 502 Bad Gateway

error

O eroare 502 Bad Gateway înseamnă de obicei că un server care acționează ca gateway sau proxy nu a putut utiliza răspunsul primit de la nivelul următor din spatele său. Pe înțelesul tuturor: un server a încercat să transmită cererea ta unui alt server, iar acel transfer a eșuat suficient de grav încât serverul de față nu a putut returna un rezultat normal.

📝 Notă: Dacă upstream-ul returnează o eroare HTTP validă proprie, proxy-ul va transmite de obicei acea eroare. Dacă aplicația returnează un real 503 Service Unavailable, nivelul frontal ar trebui în mod normal să transmită acel 503, nu să inventeze un 502. Un 502 înseamnă că răspunsul în sine era inutilizabil. Dacă nu sosește niciun răspuns utilizabil în timp util, acesta este adesea un 504 în schimb.

Cel mai rapid mod de a nu mai citi greșit erorile 5xx este să le separi în funcție de locul unde se află eșecul și de întrebarea pe care o declanșează mai întâi:

StatusCe a eșuatUnde se află eșeculPrima întrebare potrivită
500Aplicația sau origin-ul a întâmpinat o eroare internă în timp ce procesa cerereaÎn interiorul aplicației sau al serviciului originCe s-a defectat în interiorul aplicației?
502Un gateway sau proxy a primit un răspuns invalid sau inutilizabil de la hop-ul următorLa transferul dintre niveluriCare server a transmis cererea și ce a primit înapoi?
503Serviciul este temporar indisponibil sau refuză să proceseze cereriLa serviciul care ar trebui să gestioneze cerereaServiciul este supraîncărcat, în mentenanță sau intenționat indisponibil?
504Un gateway sau proxy nu a primit un răspuns în timp util de la hop-ul următorÎn aceeași zonă de transfer ca 502, dar cu semantică de timeoutUpstream-ul a eșuat să răspundă înainte ca fereastra de timeout să se închidă?

⚠️ Avertisment: Nu grupa 500, 502, 503 și 504 într-un singur coș generic de „server căzut”. Ele indică forme diferite de eșec, iar asta schimbă ce ar trebui să verifici mai întâi.

Odată ce acea definiție este clară, următoarea întrebare devine mult mai utilă: unde în un stack real are loc de fapt acest transfer eșuat?

Unde apare eroarea într-un lanț real de cereri

chain

Majoritatea cererilor moderne nu călătoresc direct de la browser la aplicație. Ele traversează niveluri: browser la CDN sau edge, edge la reverse proxy sau load balancer, proxy la procesul aplicației. O eroare 502 devine vizibilă la unul dintre aceste puncte de transfer.

Lanț simplificat de cereri: Browser → CDN/Edge → Reverse Proxy / Load Balancer → App / Process

Un reverse proxy acceptă cererea publică și o transmite intern. Un load balancer face ceva similar, dar poate alege între mai multe ținte sănătoase. În ambele cazuri, nivelul frontal rutează cererea, fără a efectua el însuși logica de business.

Analogia cu recepția funcționează bine aici. Gândește-te la proxy ca la recepția dintr-o clădire de birouri. Aceasta înregistrează vizitatorul, caută biroul corect și încearcă să îl predea. Dacă biroul nu răspunde, răspunde pe linia greșită sau oferă un răspuns pe care recepția nu îl poate utiliza, recepția returnează eșecul. De aceea eroarea vizibilă apare adesea la nivelul proxy-ului chiar și atunci când cauza mai profundă se află în altă parte.

📝 Notă: Proxy-ul este adesea mesagerul eșecului, nu cauza originală.

„Serverul următor” din spatele acelei recepții poate fi un serviciu HTTP normal pe un port, un listener de aplicație precum 127.0.0.1:3000, sau un proces susținut de un socket local precum PHP-FPM. Problema de bază nu trebuie să se afle în proxy. Un deploy defect, un worker de aplicație căzut sau chiar un eșec de bază de date pot strica backend-ul suficient de grav încât proxy-ul să fie pur și simplu locul unde apare eroarea 502.

Serviciile edge adaugă o altă complicație. Un CDN precum Cloudflare poate transmite un 502 generat de origin din adâncul stack-ului tău, sau poate genera el însuși un 502 când transferul edge-to-origin eșuează. De aceea „cine a returnat această eroare?” este prima întrebare practică, nu o idee de după.

De ce apar erorile 502: Principalele categorii de eșec

why-fail

Odată ce încetezi să tratezi o eroare 502 ca pe un eveniment misterios unic, peisajul cauzelor devine mult mai ușor de gestionat. Majoritatea incidentelor se încadrează în trei categorii reutilizabile: upstream-ul este indisponibil, transferul în sine este configurat greșit sau răspunsul revine într-o formă pe care gateway-ul nu o poate utiliza.

CategorieExemplu de eșecCe testezi de obicei în continuare
Upstream indisponibilProcesul aplicației a căzut, serviciul s-a oprit, țintă nesănătoasă după deployServiciul rulează și ascultă ceva acolo unde proxy-ul se așteaptă?
Nepotrivire la transferPort greșit, cale socket greșită, protocol greșit, eșec DNS, blocare firewall, nepotrivire TLSProxy-ul indică locul corect cu protocolul și ruta corecte?
Răspuns inutilizabilHeadere malformate, headere prea mari, închidere prematură, resetare conexiune, efecte secundare ale supraîncărcăriiCe arată log-urile, testele directe și setările de timeout sau header?

Prima categorie este cea evidentă: upstream-ul nu se află într-o stare utilizabilă. Poate că aplicația a căzut după deployment. Poate că serviciul nu a repornit niciodată. Poate că un pool PHP-FPM a murit sau o țintă a fost marcată ca nesănătoasă și eliminată din rotație. Acesta este scenariul clasic de „serviciu căzut”, dar reprezintă doar o parte din peisajul erorilor 502.

A doua categorie este nepotrivirea la transfer. Aici, ambele niveluri pot rula, dar nu sunt de acord cu privire la modul în care să se acceseze reciproc. Proxy-ul poate indica portul greșit. Un hostname poate fi rezolvat incorect. Un firewall poate bloca calea. Un nivel poate aștepta HTTPS în timp ce următorul vorbește doar HTTP simplu. O cale socket poate fi schimbată. În aceste cazuri, aplicația poate fi sănătoasă, iar conexiunea dintre niveluri este totuși ruptă.

A treia categorie este mai dificilă: upstream-ul răspunde, dar nu într-un mod pe care gateway-ul îl poate utiliza. O țintă poate reseta conexiunea TCP, o poate închide prea devreme, poate trimite headere malformate sau prea mari, sau poate returna output parțial sub sarcină. Aplicația nu este pur și simplu „oprită”; răspunde suficient de prost încât gateway-ul respinge ce a primit.

De aceea 502 nu este doar o poveste despre timeout. Unele cazuri de timeout devin 504 Gateway Timeout, nu 502. Cloudflare poate afișa erori 502 generate de edge când conectivitatea la origin sau compresia se defectează. Load balancerele pot emite erori 502 în timpul problemelor de timing la deînregistrare sau al eșecurilor de handshake TLS. „Serviciu căzut” este o categorie de cauze, nu definiția erorii.

Acel model mental îți oferă o listă de verificare reală înainte de a atinge vreun fișier de configurare. Întreabă-te în ce categorie te afli probabil, apoi testează pentru dovezi. Asta face ca secvența de depanare să pară logică în loc de ritualistică.

O secvență inteligentă de depanare pentru erorile 502

troubleshoot

Cel mai rapid mod de a depana o eroare 502 este să identifici ce nivel a returnat-o, apoi să testezi hop-ul următor din spatele acelui nivel înainte de a schimba ceva. Scopul este să dovedești unde se află transferul eșuat.

💡 Sfat: Înainte de a reporni sau edita ceva, identifică cine a returnat 502. Un pas clar de atribuire economisește adesea mai mult timp decât primele cinci „remedieri” pe care oamenii le încearcă sub presiune.

Faza 1: Identifică nivelul

Începe de la partea publică și întreabă ce returnează de fapt nivelul cu fața la internet:

curl -I https://example.com

Aceasta arată statusul HTTP și headerele de la URL-ul public. Dacă headerele aparțin clar unui CDN, load balancer sau reverse proxy, ai primul indiciu. Dacă pagina de eroare are branding Cloudflare, Cloudflare poate fi cel care a generat eroarea 502; dacă nu are branding, edge-ul poate pur și simplu să transmită un eșec de pe origin. Headere precum cf-error-type sau cf-error-origin pot apărea pe paginile de eroare generate de Cloudflare, ceea ce este util tocmai pentru că nu apar pe orice eroare 502.

📝 Notă: Dacă doar un vizitator vede eroarea în timp ce alții pot accesa site-ul, setările locale de VPN, proxy, firewall sau DNS pot face parte din problemă. O eroare 502 este de obicei de pe server, dar o cale de client izolată poate îngreuna ceea ce observi.

Faza 2: Verifică calea upstream

Odată ce știi ce nivel a returnat eroarea 502, testează hop-ul următor din spatele său. Dacă este implicat un reverse proxy, confirmă că atât proxy-ul cât și serviciul backend rulează și confirmă că listener-ul așteptat există:

systemctl status nginx
systemctl status <app-service>
ss -tlnp

Înlocuiește <app-service> cu numele serviciului tău backend. systemctl status îți spune dacă proxy-ul sau procesul aplicației este activ, eșuat sau repornit. ss -tlnp arată dacă ceva ascultă de fapt pe portul pe care îl aștepți.

Apoi testează dacă backend-ul răspunde direct fără proxy-ul la mijloc:

curl -i http://127.0.0.1:3000

Dacă cererea directă funcționează, dar URL-ul public returnează în continuare 502, backend-ul poate fi sănătos, iar transferul poate fi problema reală. Asta te îndreaptă spre setările țintei proxy, nepotrivirile de protocol, hostname-urile upstream, așteptările TLS sau regulile de firewall, mai degrabă decât spre codul aplicației în sine.

Faza 3: Folosește comenzile ca dovadă, nu ca ceremonie

După verificările directe, treci la dovezi care explică de ce transferul eșuează:

journalctl -u nginx -u <app-service> --since "15 min ago"
dig +short example.com
nginx -t

Aceste trei verificări răspund la întrebări diferite. journalctl scoate la suprafață căderi recente, resetări, indicii de timeout și eșecuri legate de deployment. dig +short îți spune dacă hostname-ul de care depinzi se rezolvă așa cum se așteaptă serverul. nginx -t validează sintaxa reverse-proxy-ului înainte de a reîncărca ceva, ceea ce contează deoarece o definiție upstream greșită poate genera un 502 chiar și când backend-ul este în regulă.

Semnalele practice arată de obicei astfel:

SemnalCe sugereazăVerificarea următoare
curl -I public returnează 502 de la un CDN sau edgeEdge-ul poate genera eroarea sau o poate transmite de la originDetermină dacă pagina edge are branding și compară cu disponibilitatea de pe origin
curl direct la 127.0.0.1:3000 funcționează, dar URL-ul public eșueazăBackend-ul răspunde, dar transferul proxy-ului sau load balancer-ului este greșitInspectează ținta upstream, protocolul, TLS și configurația proxy-ului
systemctl status <app-service> arată eșuat sau inactivUpstream-ul este indisponibilRevizuiește log-urile recente și ultimul eveniment de deploy sau repornire
ss -tlnp nu arată nimic pe portul așteptatServiciul nu ascultă acolo unde proxy-ul se așteaptăConfirmă adresa de bind, portul, calea socket-ului și configurația de pornire
journalctl arată resetări, probleme de headere sau închideri prematureRăspunsul ajunge la gateway într-o formă defectăCorelează log-urile proxy-ului cu log-urile aplicației și inspectează comportamentul răspunsului sau al headerelor
dig +short returnează host-ul greșit sau niciun răspunsRezoluția numelor face parte din eșecul transferuluiCorectează hostname-ul upstream, înregistrările DNS sau calea resolver-ului

Acesta este modelul de bază de reținut: identifică nivelul, verifică hop-ul următor, apoi folosește log-urile și testele directe pentru a explica nepotrivirea. Mai întâi dovezile. Apoi setările.

Cum se schimbă calea de depanare în funcție de modelul de hosting

path

Următoarea mișcare după o eroare 502 depinde de cât de mult din stack controlezi. Logica de depanare rămâne aceeași, dar cantitatea pe care o poți inspecta singur se schimbă mult între hosting partajat, VPS, servere dedicate și configurații cu proxy edge.

MediuCe poți inspecta de obiceiCând să escaladezi
Hosting partajatLog-uri limitate, status panou de control, URL reproductibil sau model de timpDevreme — mai ales dacă nu poți inspecta direct log-urile proxy-ului sau ale serviciului
VPSServicii, porturi, log-uri, configurație reverse-proxy, firewall, DNS localDupă ce confirmi că problema se află în afara propriei căi de serviciu sau configurare
Server dedicatStack complet plus responsabilitate mai profundă de rețea și sistemCând problema indică rețeaua furnizorului, hardware sau dependențe upstream din afara controlului tău
CDN / configurație cu proxy edgeComportamentul edge, headere, indicii de branding, accesibilitatea origin-uluiOdată ce știi dacă edge-ul a generat eroarea sau a transmis-o

📝 Notă: Pe hosting partajat, escaladarea nu este o scăpare. Este adesea mișcarea tehnică corectă, deoarece nivelurile care contează cel mai mult pentru o eroare 502 pot fi în afara vizibilității tale.

Pe hosting partajat, cel mai util lucru pe care îl poți face este să colectezi dovezi: ora, URL-ul afectat, dacă eroarea este constantă sau intermitentă și dacă a apărut după un deploy sau o modificare de configurare. Asta oferă suportului ceva acționabil. Dacă nu controlezi reverse proxy-ul, serviciul de aplicație sau log-urile serverului, diagnosticarea semnificativă nivel cu nivel se încheie rapid.

Pe un VPS, fluxul de lucru complet devine realist deoarece poți inspecta direct serviciile, listener-ele, log-urile și configurația proxy-ului. Acolo aparține depanarea reverse-proxy-ului. Pe infrastructura VPS AlexHost, verificarea systemctl, journalctl, ss, a țintelor upstream și a configurației Nginx face parte din responsabilitatea normală de proprietar, nu ceva ascuns mereu în spatele suportului.

Un server dedicat îți oferă aceeași vizibilitate, dar cu mai multă responsabilitate. Deții mai mult din stack-ul complet și posibil mai multe dintre ipotezele de rețea înconjurătoare. Dacă adaugi un CDN sau alt serviciu edge în față, prima întrebare de responsabilitate rămâne aceeași: edge-ul a generat eroarea 502 sau a transmis un eșec de pe origin? Mai mult control nu simplifică depanarea în mod implicit. Îți oferă mai multe locuri de inspectat.

Gândește în niveluri, nu în panică

think

O eroare 502 Bad Gateway încetează să mai pară misterioasă odată ce o tratezi pentru ceea ce este de obicei: un transfer eșuat între servere, nu un eveniment aleatoriu de browser. Browser-ul este doar locul unde o observi. Povestea reală se află în nivelul care transmite cererea celui următor și nu reușește să primească înapoi ceva utilizabil.

Deci păstrează secvența simplă: identifică nivelul, verifică hop-ul următor, validează cu teste directe și log-uri și schimbă setările doar când dovezile indică ceva specific. Dacă incidentele recurente te împing mereu spre o vizibilitate mai profundă a log-urilor, proxy-ului și serviciilor, acesta este momentul în care mediile cu control mai ridicat — inclusiv VPS-ul sau serverele dedicate AlexHost — devin utile din motive operaționale, nu de marketing. Metoda bate memorarea aici.

15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți