Conoce el error HTTP 504 Gateway Timeout: cuáles son las causas y cómo solucionarlo.
Tabla de contenidos
- ¿Qué es el error HTTP Gateway Timeout 504?
- Identifica cuál es la causa del error
- Causas del error 504 Gateway Timeout
- Cómo corregir el error 504 cuando tu ordenador está detrás de un proxy
- Cómo corregir el error 504 cuando tu web está detrás de un proxy
- Todos los Códigos de Estado HTTP
¿Qué es el error HTTP Gateway Timeout 504?
El error HTTP 504 Gateway Timeout (error de tiempo de espera en la puerta de enlace) ocurre cuando un servidor intermediario, o bién una interfaz de red «Gateway», no responde a la solicitud del navegador dentro de un tiempo específico.
Este «Gateway» servidor intermediario o interfaz de red puede ser un servicio que actúe como un filtro de seguridad, un servicio intermediario de caché, un balanceador de carga, etc. Esto es lo que llamamos un servicio «proxy», que actúa como una puerta de enlace de red para tu ordenador o para el tráfico de tu servidor web.
504 Gateway Timeout vs 499 Client Closed Request
Este error 504 es muy similar al error 499 que produce Nginx. La diferencia es que, cuando obtienes un 499, es el cliente el que cierra la conexión por timeout, mientras que con un 504 es el servidor proxy el que cierra la conexión. En ambos casos el error HTTP lo envia el proxy, y el código de error dependerá del extremo de la conexión que agota la espera.
Diferentes mensajes de error 504
Diferentes servidores web pueden mostrar diferentes variaciones del error 504 Gateway Timeout
. Aunque todos significan lo mismo, sus convenciones de nomenclatura pueden diferir ligeramente. A continuación, se muestran algunos ejemplos de cómo podría ver 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 cuál es la causa del error
Hay dos situaciones diferentes en las que puede ocurrir un error 504:
- Tu ordenador está detrás de un servicio proxy. Darás con errores 504 mientras navegas y el tráfico de tu red pasa a través de un servicio intermediario o proxy. Esto es común en las grandes empresas y en algunos proveedores de Internet. El propósito es añadir una capa de seguridad y/o reducir el tráfico de la red.
- Tu aplicación o sitio web está detrás de un servicio de proxy. Surgirá el error 504 solo al navegar por un sitio web determinado. En este caso, el sitio que retorna el error tiene un servidor proxy que actúa como Cortafuegos, Load Balancer o CDN (Content Delivery Network).
Causas del error 504 Gateway Timeout
Agruparemos las causas de error según los dos usos del proxy anteriormente citados.
Causas de error 504 cuando tu ordenador está detrás de un proxy
- Una incorrecta configuración del proxy del ordenador puede causar errores 504.
- Problemas en el servicio proxy por el que está pasando el tráfico de tu ordenador.
- Problemas con tu proveedor de servicios de Internet.
Causas de error 504 cuando tu web está detrás de un proxy
- Tu servicio de proxy externo está fallando.
- Tu sitio web o aplicación se bloquea.
- Tu Proxy tiene un tiempo de espera bajo.
Cómo corregir el error 504 cuando tu ordenador está detrás de un proxy
Puedes seguir las siguientes pautas para encontrar y corregir el error 504 Gateway Timeout si tu ordenador local está trabajando detrás de un servicio de proxy:
Los proxies brindan una capa adicional de seguridad para tu ordenador o dispositivo móvil y también pueden almacenar en caché los sitios web que visitas para que se carguen más rápido en las visitas posteriores.
Para saber si tu ordenador está o no detrás de un servidor proxy puedes seguir las instrucciones de este post: Cómo saber si estás usando un servidor proxy
Verifica la configuración del proxy de tu ordenador
Para corregir el error 504 de Timeout en el Gateway (proxy) causado por tu ordenador, verifica la configuración del servidor proxy y asegúrate de que sea correcta según las indicaciones de tu proveedor.
Si la configuración de tu proxy está bien, es probable que haya un problema con el servicio de proxy.
Verifica la conectividad de tu red y el estado del proxy
Si la configuración del proxy de tu ordenador está bien, primero que nada: reinicia tu módem de red y/o router WiFi. Esto asegurará que empezamos con una «red limpia» donde todas las conexiones se han reiniciado y las posibles tablas de rutas y caches liberadas.
Si el error 504 persiste, el siguiente paso es preguntarle a tu proveedor de servicios de proxy.
Cómo corregir el error 504 cuando tu web está detrás de un proxy
En este caso, el error 504 solo se da mientras navegas por un sitio web determinado. Si este sitio está bajo tu control, sigue las siguientes pautas para corregirlo:
Comprueba el estado del servicio de proxy
Si estás utilizando un servicio de proxy externo, consulta la página de «estado» del servicio. La mayoría de servicios hoy en dia exponen el estado e informan de posibles problemas en sus correspondientes páginas de Estado del Servicio, «Service Status»
Esta es una lista de «Páginas de estado» de los principales proveedores de servicios de equilibrio de carga, CDN y seguridad:
- Página de estado de Cloudflare
- Estado de Sucuri
- Estado de KeyCDN
- Estado de StackPath
- Estado de los servicios en la nube de Google
- Estado de Amazon Cloudfront
Comprueba si tienes peticiones con tiempos de proceso largos
Puedes tener errores 504 debido a un servidor web lento. Esto ocurre cuando el tiempo dedicado a procesar y crear una determinada página web (o petición de otro tipo) lleva más tiempo del que puede esperar la puerta de enlace proxy.
En esta anterior captura de pantalla de registros «logs», se puede observar que los errores 504 tienen un «parsed.request_time
» superior a 300 segundos.
Si tienes una lista concreta de peticiones con tiempos de espera excesivamente largos, prueba una o varias de estas siguientes soluciones:
- Si esperar más tiempo en el proxy tiene sentido para tus solicitudes afectadas: incrementa el tiempo de espera en tu proxy. Por ejemplo en el caso ilustrado, las peticiones son a un sistema de clonación de WordPress, que necesita mucho más tiempo pues la tarea de hacer copia es larga.
- Si esperar más no soluciona el problema o no es una opción deseada: Aumenta la capacidad de procesamiento de tu servidor. Al aumentar el «poder de procesamiento», reducirás el tiempo de espera de tu servicio proxy y este no te devolverá el 504.
- Algo que nunca debes descartar es tratar de averiguar si hay algún problema de código o de base de datos:
- Busca errores en los archivos de registro «
logs
«.
- Reparar y/o optimiza las tablas e índices. Si estás ejecutando MariaDB o MySQL, lo más probable es que tengas un panel de phpMyAdmin desde donde lanzar el «
Repair table
» y/o «Optimize table
«: - Si tu web trabaja con WordPress, verifica que no tienes conflictos entre plugins que desenvoquen en un uso excesivo de la CPU o de base de datos. Para simplificar esta tarea, te recomendamos inspeccionar tu WordPress con el plugin Query Monitor.
- Busca errores en los archivos de registro «
Para no romper tu web producción…
los entornos de prueba “staging” son la solución.
Clonar un sitio de WordPress con Wetopi es tan fácil como un simple clic.
¿No tienes una cuenta en wetopi?
Incluye servidores desarrollo Gratis.
Sin tarjeta de crédito.
Todos los Códigos de Estado 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