¿Te ha gustado el artículo?
0
¿Te ha gustado el artículo?
0

Error 504: cómo corregir el error HTTP 504 Gateway Timeout

Por lo general, si visitas una página web desde tu navegador, el servidor web es el último eslabón de una cadena de sistemas que se encargan de procesar la petición HTTP. Los puertos de red (gateways) y servidores proxy regulan el reenvío o la respuesta de la solicitud para liberar la carga del servidor web y garantizar una rápida transmisión de los datos. Así, y por cuestiones de practicidad, el servidor contactado siempre será precedido por varias estaciones de comunicación. Sin embargo, si falla uno de estos sistemas, la solicitud puede fracasar. En lugar de la página deseada, tu navegador muestra entonces mensajes de error como “HTTP Error 504” o “Gateway Timeout” (en español, “inactividad en el puerto de enlace”).

Continúa leyendo para averiguar exactamente qué hay detrás de este mensaje del servidor y cómo solucionarlo, ya sea como usuario de cliente o como administrador web.

HTTP 504: ¿qué hay detrás del código de estado HTTP?

El protocolo de transferencia de hipertexto (HTTP) es uno de los más importantes para el envío de contenido web. Activo en la capa de aplicación, HTTP facilita la comunicación entre el cliente (normalmente el navegador de Internet) y el respectivo servidor web en el que se aloja el contenido deseado. Para ello, HTTP transmite el hipertexto de la página web que es convertido en texto, imágenes, etc., por el software del cliente. El intercambio tiene lugar a través de mensajes y lo primero que hace el cliente es generar una solicitud HTTP (HTTP Request) a la que el servidor responde incluyendo un código de estado (HTTP 200) o, como en el caso del error 504, señala un fallo.

La respuesta HTTP 504 indica al cliente que la causa del error fue una duración excesiva del procesamiento de la solicitud, lo que le da el nombre de “Gateway Timeout” al código. El remitente del mensaje es el servidor en la cadena de comunicación que no pudo cumplir su función como puerto de enlace o proxy, ya que, por su parte, no recibió una respuesta del siguiente servicio o servidor. El propietario de la web puede determinar cómo se mostrará el mensaje de error en la ventana del navegador del visitante. Algunos de los mensajes “Error 504” más utilizados son:

  • HTTP 504
  • HTTP Error 504: Gateway Timeout
  • Gateway Timeout (504)
  • Gateway Timeout Error
  • 504 Gateway Timeout
  • 504 Error
  • Error 504 Gateway Timeout

¿Por qué se produce un 504 Gateway Timeout?

Los mensajes HTTP 504 aparecen siempre que un servidor intermedio o una interfaz de red no puede responder a la solicitud del navegador o del cliente en un periodo de tiempo definido. Como ya se mencionó, esto se debe a que los sistemas afectados no reciben respuesta del siguiente eslabón en la cadena. Algunas de las razones para ello son:

  • El servidor proxy o el router de la red local que utiliza el usuario están sobrecargados o han caído y ya no funcionan. En este caso, el error 504 raramente se limita a un único proyecto web, sino que también ocurre cuando se intenta acceder a otras páginas.
  • Para mejorar el rendimiento, la página web solicitada accede a un servidor proxy, pero este está sobrecargado o no funciona y, por lo tanto, no puede ser alcanzado por el nodo precedente, generando así el error Gateway Timeout.
  • Una configuración errónea del proxy, tanto en el lado del cliente como del servidor, también puede ser la responsable de la aparición del mensaje HTTP 504.
  • El problema afecta a uno o más servidores de un proveedor de servicios de Internet o empresa. La inaccesibilidad, por lo tanto, no tiene que ver con la configuración del router o del proxy del navegador del usuario ni con la del gestor de la página web.

Cómo solucionar el error 504

Claramente, para todo usuario del navegador resulta molesto que la página solicitada no se cargue y que, en cambio, aparezca un mensaje “Error 504”. Así, en caso de que utilizar el respectivo servicio sea un asunto muy importante, con la creciente duración del periodo de inactividad, la irritación puede convertirse rápidamente en frustración. Además, si trabajas con aplicaciones en la nube y no tienes una versión offline a mano, seguramente vas a necesitar una solución urgente. Esto también aplica en el caso de que seas el responsable de un proyecto web que no es accesible a tus lectores debido a la expiración en el puerto de enlace. Una respuesta rápida es fundamental para controlar la pérdida de tráfico y, en este sentido, de ingresos.

504 Gateway Timeout: soluciones para usuarios

Si durante tus tareas diarias en Internet te encuentras con un HTTP Error 504, puedes estar seguro de que no ha sido premeditado, como sucede, en cambio, con el código de estado 503 utilizado para anunciar periodos de mantenimiento. Casi siempre, el Gateway Timeout es generado por un problema en el servidor del administrador de la web o de su proveedor. Sin embargo, como se mencionó anteriormente, también es posible que tu router o tu servidor proxy sean los responsables del error. Así, como usuario del navegador, tienes a tu disposición diversas formas de resolver el error 504:

Solución 1: actualiza la aplicación web

En la mayoría de los casos, el error 504 solo se produce por un periodo de tiempo muy corto. Por lo tanto, una de las maneras más rápidas y fáciles de resolverlo es cargar nuevamente la web solicitada. Para ello, simplemente haz clic en el botón “Actualizar página actual” en la barra de direcciones del navegador. También puedes utilizar la tecla [F5], la combinación de teclas [CTRL] + [R] o simplemente introducir de nuevo el URL.

Solución 2: reinicia todos los dispositivos de red

Si el timeout se presenta en tu red doméstica, puedes solucionar el error 504 reiniciando o restableciendo tus dispositivos de red porque es posible que estén configurados incorrectamente o que, debido a otros motivos, no funcionen bien y, por lo tanto, no puedan procesar la solicitud HTTP del navegador dentro del plazo establecido. Un signo característico de que el problema reside en tus propios dispositivos es no poder acceder a ningún sitio web y que, en cambio, recibas siempre el mensaje de error HTTP 504.

Solución 3: verificar la configuración del servidor proxy

En caso de que no sea posible corregir el error 504 actualizando la web o reiniciando el router, y especialmente si utilizas un servidor proxy, deberás comprobar sus ajustes en tu navegador. Por un lado, puede que la configuración sea errónea y, por otro, que sea necesario seleccionar un proxy diferente porque este ya no está disponible o tenga problemas técnicos –incluso si aparecen los siguientes mensajes “Servidor proxy no responde” o “Conexión denegada por el servidor proxy”. En nuestra guía te mostramos cómo ajustar la configuración del proxy en el navegador.

Solución 4: cambiar el servidor DNS

Los servidores DNS utilizados por el router pueden ser los responsables del HTTP Error 504. Cuando te conectas a Internet, tu proveedor de Internet te asigna automáticamente un servidor primario y secundario, pero también te permite realizar tu propia selección para la resolución de nombres de dominio. Ambas variantes no son 100 % a prueba de fallos, por lo que es posible contactar al servidor DNS durante el timeout. En este escenario, la mejor solución podría ser un cambio a otro servidor DNS gratuito y disponible públicamente. En nuestra guía encontrarás los pasos necesarios para cambiar el servidor DNS.

Solución 5: contacta con el propietario y/o proveedor de la web

Si, tras llevar a cabo ajustes en el hardware o el software, sigues sin tener éxito, quizá deberías ponerte en contacto con el propietario o administrador de la web. Si la razón de ser del error HTTP 504 reside en el propio proyecto web, te enterarás rápidamente de cuál es el problema y sabrás cuándo estará disponible de nuevo. Si tan solo tú o una parte de los usuarios son quienes reciben el error, es muy probable que tu proveedor de Internet o de servicios esté afectado. En este caso no tendrás más remedio que contactarlo.

Nota

Si la página solicitada es una web muy visitada, acceder a alguna de sus redes sociales (como por ejemplo Twitter) te dará pistas al respecto. Allí, las empresas suelen informar rápidamente si se presenta algún problema. De igual manera, podrás ver si hay otros usuarios que se han visto afectados por el mismo fallo. En estos casos los hashtags como #websitedown (p. ej., #facebookdown) son los más típicos.

Solución 6: regresar posteriormente a la web

Independientemente de cuál sea el servidor afectado en la cadena de comunicación o de cuál sea la razón por la que tu solicitud no puede ser procesada, sin no puedes resolver el error 504 inmediatamente, es posible que tengas que esperar a que el propietario de la web o el proveedor hayan solventado el problema. Si la página web presenta un error durante un periodo de tiempo más largo o en intervalos regulares, es altamente recomendable mantener la calma e intentar visitar la web posteriormente.

Error 504: estas son las soluciones para los propietarios y administradores web

Como operador de un proyecto web, probablemente no solo quieres ofrecer a tus visitantes el mejor contenido y la experiencia de usuario óptima, sino también garantizar una alta disponibilidad de tu web. Un entorno de alojamiento estable y una protección contra malware y spam competente son tan importantes como una respuesta rápida a problemas técnicos como el 504 Gateway Timeout. Por lo tanto, es necesario detectarlo lo más rápido posible y comenzar inmediatamente a determinar la causa y a encontrar una solución.

Solución 1: aumentar los recursos del servidor proxy

En muchos casos, la causa del error HTTP 504 es el mismo servidor proxy. Si utilizas un proxy para tu página web para reducir la carga de tu servidor web, es muy probable que este sea el responsable del Gateway Timeout. Particularmente, esto sucede cuando un proyecto crece rápidamente y su tráfico aumenta pero el proxy no tiene los recursos necesarios para procesar las solicitudes HTTP. Lo mismo ocurre con los picos de carga como, por ejemplo, las compras navideñas.

Así, si el error 504 aparece en momentos donde el tráfico ha sido especialmente alto, estás frente a una señal muy clara de la sobrecarga de tu servidor proxy. La solución pasa entonces por adquirir recursos extra de hardware o alquilarlos a tu proveedor de forma que estés preparado para que tu página, o más bien tu servidor, no se sobrecargue con un exceso inesperado de tráfico. Esto es algo que puedes lograr fácilmente si te decantas por una solución flexible como el alojamiento en la nube o cloud hosting. De esta forma otorgarás una mayor capacidad a tu servidor proxy (ya sea permanente o temporalmente) para que maneje todas las solicitudes HTTP entrantes sin ningún problema y, especialmente, los mensajes “Error 504”.

Solución 2: configurar el servidor proxy

Los problemas con el servidor proxy no siempre están relacionados con la carencia de un recurso. También es posible que haya sido configurado incorrectamente y que, por lo tanto, el procesamiento de las peticiones del cliente no funcione como se desea. Por ejemplo, suele ser frecuente el 504 Gateway Timeout con nginx como servidor proxy. Sin embargo, este se puede solventar fácilmente con una entrada en su archivo de configuración. En este caso, solo tienes que abrir el archivo de configuración nginx.conf y añadir las siguientes líneas de código:

proxy_connect_timeout  600;
proxy_send_timeout    600;
proxy_read_timeout    600;
send_timeout      600;

Si utilizas nginx en combinación con FastCGI (php-fpm) es muy probable que se produzca el error HTTP 504. Este problema también se puede resolver con algunos ajustes. Primero, aumenta el valor de “max_execution_time” en el archivo fpm/php.ini e introduce este mismo valor en la variable “request_terminate_timeout” en el archivo fpm/pool.d/www.conf. A continuación, busca el bloque “location ~ \.php$” en nginx.conf y añade lo siguiente:

fastcgi_read_timeout 300;

Ambas soluciones requieren el reinicio posterior de nginx para resolver el 504 Gateway Timeout y aplicar los cambios:

service nginx reload

Solución 3: comprueba los sistemas de gestión de contenidos y las bases de datos

La causa de un fallo HTTP Error 504 no siempre está relacionada con el software del servidor. Un periodo de inactividad durante el procesamiento HTTTP también puede estar relacionado con el mal funcionamiento del Content Management System (CMS), de la base de datos o de alguna aplicación del servidor. Así, si te encuentras con este error, es muy probable que tengas que considerar posibles fallos en estos sistemas. Al igual que con los servidores proxy, la causa más común suele ser una configuración defectuosa, por lo que es necesario encontrar y ajustar el error. Otra posibilidad, especialmente para errores en CMS, es el uso de plugins defectuosos u obsoletos que deben ser deshabilitados o actualizados.

Nota

Para prevenir el error 504 es recomendable instalar periódicamente copias de seguridad de tu CMS y de todas tus bases de datos, así como instalar las correspondientes actualizaciones de manera oportuna. Al seleccionar las extensiones, se debe prestar especial atención a factores tales como su vigencia, fiabilidad y compatibilidad. También es recomendable mantener el número de plugins lo más reducido posible para que el sistema de gestión de contenidos no consuma más recursos de los dispuestos.

Solución 4: contactar con el proveedor de servicios de Internet o alojamiento web

Si has fallado con los intentos anteriores para resolver el 504 Gateway Timeout, es probable que el error no resida en una de tus aplicaciones y que, más bien, esté fuera de tus manos y responsabilidad. En este caso, es posible que esté afectado uno de los servidores de la cadena de comunicación administrada por tu proveedor de Internet o alojamiento web. Tu única opción es ponerte en contacto con tu proveedor y pedirle que solucione el problema. Adicionalmente, deberás solicitar ayuda inmediata si crees que tu proyecto ha sido infectado con malware o si estás siendo víctima de un ataque de spam.

Protocolos HTTP