Error 502 Bad Gateway, Qué es y 7 maneras de solucionarlo
En el mundo de internet, intervienen diferentes actores a la hora de generar una solicitud para visualizar una página web. Las conexiones con los servidores, en general, nos mostrarán la página web (código 200), o incluso una redirección (código 301 o 302), que es lo normal, y lo que en general, nos mostrará el contenido que queremos visualizar.
Pero también puede suceder que nos encontremos con otras respuestas de los servidores que no son las que esperamos. La más común suele ser el código 404 (Página no encontrada), pero existen otros muchos mas, como por ejemplo, el error 502 bad Gateway.
¿Qué es un error 502 Bad Gateway?
Si nos vamos al error de manera específica, indica que el servidor recibió una respuesta no válida de un servidor entrante. Básicamente, es que el servidor, actuando como puerta de enlace, recibió una respuesta no válida del servidor al que trataba de acceder para completar la solicitud.
Como indicamos, cada vez que se hace una visita a un sitio web, intervienen diferentes factores, como que el navegador envía una solicitud al servidor web, y este la procesa para devolver el contenido o recursos solicitados. Hay muchos errores de estado 500, cada uno con un significado ligeramente diferente al otro, pero en todos los casos, significa que la solicitud que hemos realizado ha sido aceptada, pero el servidor que debía devolvernos los recursos, ha impedido esta acción por algún motivo.
El error 502 bad gateway puede presentarse de diferentes maneras (dependientes del navegador, sistema operativo, servidor web…). Por ejemplo, un servicio tan popular como Twitter, suele utilizar el error 502 para informar de que está sobrecargado.
Otros servicios como Google, pueden mostrar errores 502, llamados “errores temporales” que pueden tener su causa en caches, sesiones….
Por lo tanto, estamos ante un error, aunque es muy específico, puede ser por diversas causas, que pueden ser atribuibles al servidor, o estar del lado del cliente.
Solucionar Error 502 Bad Gateway
Como ya hemos mencionado, pueden ser muchos factores los que intervienen en un error 502 bad Gateway, por lo que también, existen muchas posibles soluciones al error. Te mostramos algunas de ellas.
Aunque el 502 bad gateway no tiene una relación directa, esta es una solución muy recurrida en la mayoría de casos y errores, ya que muchas veces, nuestro navegador cachea el sitio y puede “romperse” esta cache. Limpiar la cache y cookies, suele ser una buena idea, de este modo, descartas ya que pueda ser simplemente un «mal momento» de tu navegador.
2. Carga el sitio y comprueba que no sea un problema tuyo
Puedes volver a cargar el sitio unos minutos después, dado que en muchas ocasiones, si el error se genera del lado del servidor, es posible que pasados unos minutos, pueda volver a estar funcionando una vez sea solucionado por los administradores del servidor que genera el problema.
Puedes comprobar si el problema lo estás generando tú, o bien el sitio está caído para todos, con herramientas como downforeveryoneorjustme.com.
3. Problema del servidor
La razón que suele ser la causa más probable del 502 bad gateway, es un problema del servidor web. Generalmente, este problema está ligado a que el servidor no es capaz de generar la conexión, y puede estar relacionada con el propio servidor web y sus límites (generalmente en NGINX, por ejemplo), o incluso puede estar generando este problema otros elementos como plugins o tiempos de espera bajos (en apache, PHP….).
Si estás utilizando un servidor web apache, es probable que el timeout de tu servidor web sea bajo, e intentes ejecutar un script que requiere de mayor tiempo, por lo que el servidor termina cortando esa petición y devuelve el error. Aumentar los tiempos de espera (timeout) de apache, es una buena idea. No obstante, si el problema parte del lado del servidor, lo ideal es consultar con su Soporte Técnico o un servicio sysadmin, ya que las causas pueden ser otras.
4. Verificar Plugins y Temas
Otra causa habitual, especialmente si nos sucede en un determinado acceso (a una página en específico, o al administrador de WordPress, por ejemplo), es la posibilidad de que tengamos plugins o temas en nuestro script (si hablamos de WordPress, por ejemplo), que puedan tener un problema o estar mal programados. No necesariamente deben ser plugins o temas que hemos instalado recientemente, pueden ser que los tengamos ya tiempo, y una actualización ha generado el problema.
Conviene, en esos casos, tratar de ir desactivando plugins, y comprobando si el problema persiste. En el caso de que consigamos localizar el causante, sería necesario “aislarlo” y esperar a que se actualice o consultar con el desarrollador del plugin. En el caso de que no se pueda acceder al administrador de WordPress, se pueden desactivar los plugins de manera manual accediendo al FTP, y modificando el nombre del plugin (añadiendo un guion al final del nombre, por ejemplo).
5. Problemas de tiempo de espera de PHP
Al igual que hemos comentado en el apartado 3 sobre el timeout del servidor web, podemos encontrarnos con problemas de timeout en PHP. Aumentar determinadas variables, puede dar solución a nuestro problema, ya que es posible que algún script esté intentando ejecutar un proceso que requiere de mayor tiempo del que PHP tiene asignado.
En este sentido, sería ideal aumentar las variables max_execution_time o bien max_input_time. En MundiServer puedes consultar con el Soporte Técnico, o bien, ajustarlo en tu panel de control.
6. Comprobar Firewall o CDN
Si utilizas un CDN (como complemento u otros como Cloudflare, por ejemplo), puedes desactivar temporalmente el CDN para comprobar que no esté generando un 502 bad gateway.
También puede ocurrir que si alguna petición intenta generar una conexión externa a otro lado, pueda no estar llegando a ese servicio, porque el Firewall está bloqueando la conexión. Sería recomendable poner temporalmente el firewall en modo test, y comprobar que efectivamente, no es el causante del problema.
En caso de ser el Firewall el que cause el problema, deberás comprobar que intenta realizar el script que se intenta ejecutar (donde intenta conectar) y autorizar la IP en el firewall para evitar estos errores.
También podría suceder, que estés bloqueando al CDN (IPs de Cloudflare, por ejemplo) y como no pueden acceder, pueden generar este error. Lo ideal en ese caso, seria verificar porque se bloquean esas IPs (puedes estar sufriendo un ataque DDoS) y en su caso, añadirlas a la lista blanca de tu Firewall.
7. Verificar Logs
Siempre es una gran idea. Es más, es la mejor idea de todo el post. Debería ser la primera cosa a hacer, la hemos dejado para lo último, para que sea lo primero que hagas una vez leído el post.
Comprobar los logs es lo más importante cuando hay un error. No importa si es un 502 bad gateway, o cualquier otro error. Los logs nos lo cuentan todo. Puedes comprobar los logs del servidor, especialmente si parte como hemos comentado el error de Apache, y los logs indicaran que efectivamente, hay un problema de timeout. Recuerda, que si tienes el servidor en MundiServer, solo tienes que consultarnos, ya que tu servicio es administrado, y lo comprobaremos todo por ti.
También puedes verificar los logs del dominio. Generalmente, en los paneles de control, tenemos forma de ver los errores que genera directamente el dominio. Generalmente nos encontraremos información de PHP, por ejemplo, si en la configuración PHP lo tenemos configurado para que se guarde en los logs del dominio.
También puedes activar el modo debug de tu script. En WordPress, por ejemplo, es sencillo activarlo, simplemente deberás modificar el archivo wp-config.php, y agregar el siguiente código:
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
De este modo, activaremos el modo debug en los logs, si activamos el debug display, aparecerá directamente en la pantalla.
Resumen
Como puedes comprobar, es una gran variedad de errores dentro del mismo error, lo que nos puede generar un 502 Bad Gateway. Y por lo tanto, son una gran variedad de soluciones las que podemos aplicar. Lo ideal, seria consultar con tu proveedor, para que te pueda poner sobre el camino, ya que algunos errores los podrán resolver de manera directa, y algunos otros, indicarte por donde proceder.
Es importante, revisar los logs, ya que de este modo, no probaremos cosas que no son eficientes, y que pueden generar otros problemas. Si el servidor lo tienes en MundiServer, recuerda que es un servidor administrado, y te ayudamos. Si lo tienes con otro proveedor, puedes adquirir nuestro plan de administración sysadmin para que te ayudemos.