Http Error 502 Bad Gateway, guia ràpida per solucionar l’error (actualitzada)

HTTP Error 502 Bad Gateway

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?

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.

Error 502 Bad Gateway enviat per Cloudflare
Pantalla d’error Bad Gateway de Cloudflare

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)”
502. Això és un error. El servidor va trobar un error temporal i no va poder completar la sol·licitud
502 Bad Gateway quan el lloc web o el servei està darrere dels proxies de Google.

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”:
Habiliteu el mode de desenvolupament a Cloudflare.
Habilita el mode de desenvolupament a Cloudflare per desactivar temporalment el servidor intermediari i servir pàgines directament des del teu servidor.

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:

Resultat de la prova de temps dactivitat del lloc web de tendències alcistes
Verifiqueu que la vostra web es vegi bé des de diferents punts de xarxa.

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.

A Wetopi, com a especialistes en WordPress , sabem com és d’important disposar de fortes mesures de seguretat.

Apliquem tres tècniques per filtrar el trànsit :

Aprenentatge heurístic compartit,
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.

Una de les raons per les quals podria considerar canviar-se a un allotjament com Wetopi és que cada instal·lació de WordPress s’executa en un host aïllat que conté tots els recursos de programari necessaris per executar el lloc (Linux, Nginx, Php-fpm, MySQL) . Això vol dir que el programari que executa cada lloc és 100% privat i no es comparteix, ni tan sols entre els seus propis llocs de WordPress.

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:

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.

iptables bloquejant diferents adreces IP.
En aquest exemple, iptables està bloquejant el trànsit de diferents adreces IP.

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.
Reparar taules de bases de dades des del panell de phpMyAdmin
Aquesta imatge mostra com reparar les taules de la base de dades MariaDB/MySQL des del panell de phpMyAdmin.

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:

  1. Deshabilita tots els plugins.
  2. Verifica la pàgina que dóna l’error HTTP 502.
  3. Si la pàgina funciona , reactiva un dels plugins de la llista de deshabilitats i torna a saltar al pas 2.
  4. 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.

Resumidament, som uns techies apassionats per WordPress que hem creat Wetopi, un Allotjament WordPress Gestionat, per minimitzar la fricció a la que tot professional s’enfronta en treballar i allotjar projectes WordPress.

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

400 Bad Request

401 Unauthorized

402 Payment Required

403 Forbidden

404 Not Found

405 Method Not Allowed

406 Not Acceptable

407 Proxy Authentication Required

408 Request Timeout

409 Conflict

410 Gone

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

499 Client Closed Request

500 Internal Server Error

501 Not Implemented

502 Bad Gateway

503 Service Unavailable

504 Gateway Timeout

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