Analitzem l’error HTTP 502 Bad Gateway: quines són les causes i com solucionar-lo.
Table of Contents
- Què és l’error 502 Bad Gateway?
- Diferents missatges d’error 502
- Causes de l’error 502 Bad Gateway
- Com reparar el codi d’error 502 Bad Gateway
- 1 Verifica que el teu servidor està en funcionament
- 2 Verifica que es pot accedir al teu servidor
- 3 Verifica la càrrega del teu servidor
- 4 Verifica els límits de recursos del teu hosting
- 5 Comprova l’estat del servei CDN o servidor intermediari
- 6 Inspecciona el tallafocs del teu servidor
- 7 Inspecciona els DNS
- 8 Revisa la teva base de dades
- 9 Revisa el teu WordPress o aplicació
- Tots els Codis d’estat HTTP
Què és l’error 502 Bad Gateway?
El codi d’estat de resposta HTTP 502 Bad Gateway indica que el teu servidor està darrere d’un servidor intermediari o “proxy” (per exemple, un CDN, un balancejador de càrrega “Load Balancer”, un tallafocs, etc.) i que aquest servidor intermediari no veu el teu servidor de continguts.
Per exemple, pots topar amb l’error si el teu CDN o Firewall no pot arribar al servidor web i per tant el contingut no es pot lliurar a l’usuari.
Diferents missatges d’error 502
- “Error 502 Bad gateway”
- “Proxy Error. The proxy server received an invalid response from an upstream server.”
- “502 Bad Gateway Nginx”
- “HTTP 502”
- “502 Service Temporarily Overloaded”
- “502 Server Error: The server encountered a temporary error and could not complete your request”
- “502. That’s an error. The server encountered a temporary error and could not complete your request”
- “Temporary Error (502)”
A les seccions següents et mostrem les diferents causes i com corregir l’error en cada cas:
Causes de l’error 502 Bad Gateway
L’error 502 significa que el servei intermediari que actua com a porta d’enllaç té problemes per obtenir el contingut del teu servidor. Aquest servei intermediari “proxy” que tens davant del servidor de la teva web pot ser un CDN, un Load Balancer, un Firewall, etc.
Aquí tens una llista de totes les diferents causes:
- Hi ha un problema de xarxa entre el servidor i el servei proxy.
- El teu servidor està bloquejant l’accés al servei de servidor proxy.
- El teu servidor està caigut.
- El teu servidor està actiu però no pot gestionar més connexions.
- Algunes sol·licituds del servidor tenen problemes y retornen l’error.
- Hi ha algún problema amb els DNS.
Com reparar el codi d’error 502 Bad Gateway
Pots seguir els passos següents per identificar la causa i corregir l’error 502:
1 Verifica que el teu servidor està en funcionament
Aquest és el primer pas que has de verificar. Inicia una sessió a la consola o entra al panell de gestió del teu servidor i verifica que tots els serveis web s’estiguin executant.
2 Verifica que es pot accedir al teu servidor
Deshabilita temporalment el servei de servidor intermediari proxy o evita’l forçant les zones DNS del teu domini.
Amb aquest mètode validem que el servidor funciona correctament i és capaç de servir les pàgines sense retornar errors.
Descrivim a continuació els dos mètodes:
Prova el teu servidor sense passar pel servei de servidor intermediari
Pots esquivar el servei de servidor intermediari, apuntant les zones DNS del teu domini web directament a la IP del teu servidor.
Pots forçar les zones DNS, modificant el fitxer host del teu ordinador.
Tens eines per ajudar-te com:
SwitchHosts per a Mac OSX o
HostsFileEditor per a Windows.
Prova el teu servidor desactivant el servei proxy intermediari
Com a alternativa per verificar si es pot accedir al teu servidor, pots desactivar temporalment el servei proxy: el CDN, Load Balancer, …
Si tens Cloudflare, pots desactivar-lo fàcilment des del panell d’administració:
- Inicia sessió i
- a la barra lateral dreta, localitza les Accions ràpides,
- activa el Mode de desenvolupament “Development Mode”:
Verifica que el teu servidor es veu des de diverses xarxes i continents
Si tot està ok després de desactivar temporalment el servei proxy intermediari, el següent punt de control recomanat és verificar si es pot accedir a través de diferents xarxes i països.
Et recomanem l’eina online Uptrends Website Uptime Test:
Aquesta eina Uptrends revisa la teva web des de diferents nodes de països. Si alguna verificació falla, estàs davant de possibles problemes de xarxa que probablement no estiguin sota el teu control.
3 Verifica la càrrega del teu servidor
Si el servidor web arriba als seus límits, no podra respondre a més sol·licituds i el servei proxy que tinguis al davant et retornarà el codi d’estat 502 Bad Gateway.
El motiu podria ser un interès inesperadament alt, un pic d’audiència o fins i tot un atac de DoS o DDoS (Distributed Denial of Service). Això vol dir que algú està utilitzant una xarxa de bots per ajudar a sobrecarregar la capacitat del servidor i provocar una falla del sistema.
És probable que el teu servei de servidor intermediari, CDN o Load Balancer, estigui preparat per gestionar volums elevats de trànsit, però això no vol dir que ho estigui el teu servidor web. Amb les webs WordPress, és tremendament fàcil sobrecarregar el servidor, ja que són moltes les pàgines amb temps de procés elevat i que no podem servir des de memòria cau.
La millor solució en cas de trànsit no legítim és estar protegit per un servei de CDN o Firewall capaç de filtrar el trànsit i amb infraestructura preparada per frenar els atacs DoS i DDoS.
Com a especialistes en WordPress , sabem com és d’important disposar de fortes mesures de seguretat.
Aprenentatge heurístic compartit,
Apliquem tres tècniques per filtrar el trànsit :
Llistes negres de fonts externes i
Mitigació d’atacs DDoS.
Si el trànsit és legítim, les solucions són òbvies:
- Afegeix un bon sistema de memòria cau “cache”, al teu website.
- I si el sistema de memòria cau no és suficient, incrementa els recursos del vostre servidor.
- Si econòmicament no podeu afrontar l’increment de recursos, l’opció final és alleugerir la vostra web. Si treballes amb WordPress, redueix la quantitat de plugins al mínim imprescindible.
4 Verifica els límits de recursos del teu hosting
Si la vostra web està en un allotjament compartit, verifiqueu que no esteu excedint els límits de recursos.
L’establiment de límits no és una cosa que puguis trobar entre les funcionalitats d’un “shared hosting”. Però tingueu en compte que per preservar la convivència entre tots els llocs d’un servidor compartit, és molt comú que el proveïdor estableixi límits en els temps de procés, en el nombre de “php workers” i en el trànsit.
5 Comprova l’estat del servei CDN o servidor intermediari
El problema d’accés a la xarxa podria ser un problema de xarxa del servei intermediari. Consulteu la “Pàgina d’estat” del servei del vostre proveïdor.
Aquesta és una llista de “Pàgines d’estat” dels principals proveïdors de serveis de Load Balancing, CDN i serveis de seguretat:
- Pàgina d’estat de Cloudflare
- Estat de Sucuri
- Estat de KeyCDN
- Estat de StackPath
- Estat dels serveis al núvol de Google
- Estat d’Amazon Cloudfront
6 Inspecciona el tallafocs del teu servidor
Si el vostre servidor web té un firewall local: “iptables”, “Uncomplicated Firewall – UFU”, “CSF Firewall”, “Fail2ban”, “FireHOL”, aleshores podria ser aquest firewall el que està bloquejant l’accés al teu servei de proxy.
Inspecciona el teu tallafocs.
La millor solució, si el teu tallafocs ho permet, és afegir les adreces IP del teu proveïdor (CDN, Load Balancer,…) al sistema de llista blanca “whitelist”.
Per exemple, a Wetopi, fem servir i recomanem Cloudflare com a CDN i tallafocs de seguretat. Per a evitar problemes d’error “502 Bad Gateway”, els nostres tallafocs tenen la llista pública d’adreces IP de Cloudflare al sistema de la llista blanca “whitelist”.
7 Inspecciona els DNS
Si estàs en procés de publicar el teu domini o ho estàs modificant, el problema podria ser al DNS
Per corregir l’error 502 a causa d’un problema de DNS, seguiu aquesta llista de verificació:
- Si acabes de migrar el teu lloc a un nou host, és important esperar que les zones DNS es propaguin del tot, cosa que es pot trigar fins a 24 hores en alguns casos. Això depèn del valor TTL dels teus registres DNS.
- El nom de domini no es resol a la IP correcta o no es resol a cap IP. Verifica la definició de la teva zona DNS d’acord amb les instruccions proporcionades pel seu servei proxy: CDN, Load Balancer, Security Service, …
8 Revisa la teva base de dades
Si has arribat fins aquí i cap dels mètodes anteriors funciona, podria ser que l’error vinguès d’un problema a la teva web o aplicació, per a una pàgina o sol·licitud d’URL concreta.
Primer de tot, verificar l’estat de la base de dades:
- cercar errors als fitxers de registre “logs”
- repara i/o optimitza les taules i els índexs.
9 Revisa el teu WordPress o aplicació
Si la base de dades està bé, la solució final per corregir l’error 502 per una pàgina web o URL en concret, és depurar l’aplicació o gestor de continguts.
Si el lloc web treballa amb WordPress, prova el següent:
- deshabilita tots els plugins,
- intenta reproduir l’error,
- si el problema desapareix, llavors l’error 502 és causat per un plugin de WordPress.
Per no trencar la teva web producció durant les proves …
Clona el teu server producció i crea un entorn “staging” !!!
Clonar un lloc de WordPress amb Wetopi és tan fàcil com un simple clic.
Per trobar el plugin que causa el problema, us recomanem seguir aquest procés:
- Deshabilita tots els plugins.
- Verifica la pàgina que dóna l’error HTTP 502.
- Si la pàgina funciona , reactiva un dels plugins de la llista de deshabilitats i torna a saltar al pas 2.
- Si la pàgina falla, aquest últim plugin que has activat, podria ser el que està causant el conflicte que et porta a l’error HTTP 502.
Encara no tens compte a Wetopi?
Inclou servidors de desenvolupament Gratis.
No cal tarjeta de crèdit.
Tots els Codis d’estat HTTP
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status
208 Already Reported
226 IM Used
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
307 Temporary Redirect
308 Permanent Redirect
402 Payment Required
404 Not Found
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
411 Length Required
412 Precondition Failed
413 Payload Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
418 I’m A Teapot
421 Misdirected Request
422 Unprocessable Entity
423 Locked
424 Failed Dependency
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
444 Connection Closed Without Response
451 Unavailable For Legal Reasons
501 Not Implemented
505 HTTP Version Not Supported
506 Variant Also Negotiates
507 Insufficient Storage
508 Loop Detected
510 Not Extended
511 Network Authentication Required
599 Network Connect Timeout Error