504 Gateway Timeout error, guia ràpida per solucionar-lo (actualitzada)

504 Gateway Timeout error, guia ràpida per solucionar-lo (actualitzada)

Coneix l’error HTTP 504 Gateway Timeout: quines són les causes i com solucionar-lo.

Table of Contents

Què és l’error HTTP Gateway Timeout 504?

L’error HTTP 504 Gateway Timeout (error de temps d’espera a la porta d’enllaç) passa quan un servidor intermediari, o bé una interfície de xarxa “Gateway”, no respon a la sol·licitud del navegador dins d’un temps específic.

Aquest “Gateway” servidor intermediari o interfície de xarxa pot ser un servei que actuï com un filtre de seguretat, un servei intermediari de memòria cau, un balancejador de càrrega, etc. Això és el que anomenem un servei “proxy”, que actua com una porta d’enllaç de xarxa per al vostre ordinador o per al trànsit del vostre servidor web.

Nginx server timeout desencadena error de Gateway 504
Esquema de mostra com un balancejador de càrrega Nginx no pot esperar més i tanca la connexió retornant l’error 504 Gateway Timeout.

504 Gateway Timeout vs 499 Client Closed Request

Aquest error 504 és molt semblant a l’error 499 que produeix Nginx.

La diferència és que, quan obtens un 499, és el client el qui tanca la connexió per timeout, mentre que amb un 504 és el servidor intermediari el que tanca la connexió. En tots dos casos l’error HTTP l’envia el servidor intermediari, i el codi d’error dependrà de l’extrem de la connexió que esgota el temps d’espera.

Diferents missatges d’error 504

Diferents servidors web poden mostrar diferents variacions de l’error 504 Gateway Timeout. Tot i que tots signifiquen el mateix, les seves convencions de nomenclatura poden diferir lleugerament. A continuació, es mostren alguns exemples de com es podria mostrar un error 504.

  • 504 Gateway Timeout
  • Nginx 504 Gateway Timeout
  • 504 Gateway Timeout NGINX
  • HTTP 504
  • 504 ERROR
  • Gateway Timeout (504)
  • HTTP Error 504 – Gateway Timeout
  • Gateway Timeout Error

Identifica quina és la causa de l’error

Hi ha dues situacions diferents en què pot passar un error 504:

  1. El teu ordinador està darrere d’un servei proxy. Donaràs amb errors 504 mentre navegues i el trànsit de la teva xarxa passa a través d’un servei intermediari o proxy. Això és comú a les grans empreses i en alguns proveïdors dInternet. El propòsit és afegir una capa de seguretat i/o reduir el trànsit de la xarxa.
  2. La teva aplicació o lloc web està darrere d’un servei de servidor proxy. Sorgeix l’error 504 només en navegar per un lloc web determinat. En aquest cas, el lloc que retorna l’error té un servidor intermediari que actua com a Tallafocs, Load Balancer o CDN (Content Delivery Network).

Causes de l’error 504 Gateway Timeout

Agruparem les causes d’error segons els dos usos del servidor proxy intermediari anteriorment esmentats.

Causes d’error 504 quan el teu ordinador està darrere d’un servidor intermediari

  • Una configuració incorrecta del servidor proxy de l’ordinador pot causar errors 504.
  • Problemes al servei intermediari pel qual està passant el trànsit del teu ordinador.
  • Problemes amb el vostre proveïdor de serveis d’Internet.

Causes d’error 504 quan la teva web està darrere d’un servidor intermediari

  • El teu servei de proxy actuant com a servidor intermediari extern està fallant.
  • El teu lloc web o aplicació es bloqueja.
  • El teu Proxy té un temps d’espera baix.

Com corregir l’error 504 quan el teu ordinador està darrere d’un servidor intermediari

Pots seguir les pautes següents per trobar i corregir l’error 504 Gateway Timeout si el teu ordinador local està treballant darrere d’un servei de servidor intermediari:

Els proxies brinden una capa addicional de seguretat per al teu ordinador o dispositiu mòbil i també poden emmagatzemar en memòria cau els llocs web que visites perquè es carreguin més ràpid a les visites posteriors.

Per saber si el teu ordinador està o no darrere d’un servidor intermediari proxy, pots seguir les instruccions d’aquest post: Com saber si utilitzeu un servidor intermediari

Verifica la configuració del servidor intermediari del teu ordinador

Per corregir l’error 504 de Timeout al Gateway (proxy) causat pel teu ordinador, verifica la configuració del servidor proxy i assegura’t que sigui correcta segons les indicacions del teu proveïdor.

Pantalla de configuració del servei de proxy per a OSX
Aquesta és la pàgina de configuració del servidor intermediari al Mac OSX. La pots trobar al panell Configuració de xarxa.

Si la configuració del vostre proxy està bé, és probable que hi hagi un problema amb el servei de proxy.

Verifica la connectivitat de la teva xarxa i l’estat del servidor intermediari

Si la configuració del servidor intermediari del teu ordinador està bé, primer que res: reinicia el teu mòdem de xarxa i/o router WiFi. Això assegurarà que comencem amb una “xarxa neta” on totes les connexions s’han reiniciat i les possibles taules de rutes i caches s’han buidat.

Si l’error 504 persisteix, el pas següent és preguntar al vostre proveïdor de serveis de servidor intermediari.

Com corregir l’error 504 quan la teva web està darrere d’un servidor intermediari

En aquest cas, l’error 504 només es produeix mentre navegues per un lloc web determinat. Si aquest lloc està sota el teu control, segueix les pautes següents per corregir-lo:

Comprova l’estat del servei de servidor intermediari

Si utilitzes un servei proxy extern, consulta la pàgina “estat” del servei. La majoria de serveis avui en dia exposen l’estat i informen de possibles problemes a les corresponents pàgines d’Estat del Servei, “Service Status”

Aquesta és una llista de “Pàgines d’estat” dels principals proveïdors de serveis d’equilibri de càrrega, CDN i seguretat:

Comprova si tens peticions amb temps de procés llargs

Pots tenir errors 504 a causa dun servidor web lent. Això passa quan el temps dedicat a processar i crear una determinada pàgina web (o petició dun altre tipus) porta més temps del que pot esperar la porta denllaç proxy.

Llista de peticions amb Errors 504 Gateway Timeout

En aquesta anterior captura de pantalla de registres “logs”, es pot observar que els errors 504 tenen un ” parsed.request_time ” superior a 300 segons.

Si tens una llista concreta de peticions amb temps d’espera excessivament llargs, prova una o diverses d’aquestes solucions:

  • Si esperar més temps al proxy té sentit per a les teves sol·licituds afectades: incrementa el temps d’espera al teu proxy. Per exemple, en el cas il·lustrat te cert sentit: les peticions són a un sistema de clonació de WordPress, que necessita molt més temps ja que la tasca de fer còpia és llarga.
  • Si esperar més no soluciona el problema o no és una opció desitjada: Augmenta la capacitat de processament del teu servidor. En augmentar el “poder de processament”, reduiràs el temps d’espera del teu servei intermediari i aquest no et tornarà el 504.
  • Una cosa que mai has de descartar, és intentar esbrinar si hi ha algun problema de codi o de base de dades:
    • Busca errors als fitxers de registre ” logs “.
    • Reparar i/o optimitzar les taules i índexs. Si estàs executant MariaDB o MySQL, el més probable és que tinguis un panell de phpMyAdmin des d’on executar el “Repair table” i/o “Optimize table“:

      Repara i Optimitza la teva base de dades mysql des del teu panell phpMyAdmin
    • Si la teva web treballa amb WordPress, verifica que no tens conflictes entre plugins que desenvoquin en un ús excessiu de la CPU o de base de dades. Per simplificar aquesta tasca, et recomanem inspeccionar el teu WordPress amb el plugin Query Monitor.

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.

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.

No tens un 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

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