502 Bad Gateway: cuando falla el servidor que hay detrás del proxy

502 Bad Gateway significa que un proxy o una pasarela recibió una respuesta no válida, o ninguna, del servidor upstream del que depende.

Comprueba el código de estado de una URL

502 Bad Gateway lo devuelve un servidor que está delante de otro, como un proxy inverso, un balanceador de carga o una CDN, cuando el servidor que tiene detrás envía una respuesta no válida o ninguna. El servidor de entrada funciona; la aplicación que hay detrás no responde bien.

Definición

RFC 9110, sección 15.6.3: el servidor, “mientras actuaba como pasarela o proxy, recibió una respuesta no válida de un servidor de entrada al que accedió mientras intentaba cumplir la solicitud”. En una pila típica, es Nginx (la pasarela) hablando con PHP-FPM, Node.js, Gunicorn u otro servidor de aplicaciones. Si la aplicación responde correctamente pero demasiado despacio, obtienes un 504.

Causas habituales

  • El servidor de aplicaciones está caído: PHP-FPM se detuvo, un proceso de Node falló, un contenedor se reinició.
  • Una dirección upstream incorrecta, como Nginx apuntando a php8.1-fpm.sock después de actualizar a PHP 8.3.
  • La aplicación murió a mitad de solicitud: procesos eliminados por falta de memoria, fallos o errores fatales que cierran la conexión.
  • Cabeceras de respuesta demasiado grandes para los buffers del proxy, a menudo por cookies grandes o cabeceras de seguridad largas.
  • Despliegues sin reinicios ordenados, que producen ráfagas breves de 502.

El log de errores de Nginx suele nombrar la causa:

connect() to unix:/run/php/php8.1-fpm.sock failed (2: No such file or directory)
connect() failed (111: Connection refused) while connecting to upstream
upstream prematurely closed connection while reading response header from upstream
upstream sent too big header while reading response header from upstream

Impacto en el SEO

Google trata el 502 como los demás errores de servidor, según su documentación: Googlebot reduce su frecuencia de rastreo en proporción al número de URL que fallan, mantiene un tiempo las páginas ya indexadas y descarta las URL que siguen fallando. Los 502 ocasionales durante los despliegues son casi siempre inofensivos, pero se acumulan en los sitios grandes y se ven en Estadísticas de rastreo de Search Console y en los informes de “Error del servidor (5xx)”.

Cómo solucionar un 502

Para propietarios de sitios

Recarga pasado un minuto. Si el error persiste, contacta con tu hosting indicando la hora y la URL. En un hosting gestionado de WordPress, un plugin que hace caer PHP es un desencadenante habitual.

Para desarrolladores

# ¿está en marcha el servidor de aplicaciones?
systemctl status php8.3-fpm
sudo systemctl restart php8.3-fpm

# ¿apunta Nginx al socket correcto?
grep -R "fastcgi_pass" /etc/nginx/

# ¿se eliminó algún proceso por falta de memoria?
dmesg -T | grep -i -E "killed process|out of memory"

Para los errores de “too big header”, aumenta los buffers:

fastcgi_buffer_size 32k;
fastcgi_buffers 16 16k;
# o, para upstreams con proxy_pass
proxy_buffer_size 32k;
proxy_buffers 16 16k;

Usa comprobaciones de salud (health checks) en tu balanceador de carga y reinicios progresivos u ordenados para que los despliegues no pierdan solicitudes. Detrás de Cloudflare, un fallo del origen puede aparecer en cambio como un código propio de Cloudflare, como el 520 o el 521.

Cómo comprobarlo

El comprobador de códigos de estado HTTP muestra si el error afecta a muchas URL o solo a unas pocas, y la cabecera Server en el comprobador de cabeceras HTTP te dice qué capa lo produjo.

HTTP/1.1 502 Bad Gateway
Server: nginx
Content-Type: text/html
Content-Length: 150

Preguntas frecuentes

¿Cuál es la diferencia entre 502 y 504?

Un 502 significa que la pasarela recibió una respuesta no válida o ninguna, a menudo porque la aplicación falló o no está en marcha. Un 504 significa que se pudo llegar a la aplicación, pero no respondió antes del timeout de la pasarela.

¿Un 502 Bad Gateway es culpa mía o de mi hosting?

Es un problema del lado del servidor, así que los visitantes no pueden arreglarlo. En tu propio servidor, revisa el proceso de la aplicación y la configuración del proxy; en un hosting gestionado, envía a tu proveedor la URL y la hora del error.

¿Un error 502 perjudica al SEO?

Las ráfagas breves rara vez importan, pero los 502 frecuentes o de larga duración hacen que Googlebot rastree menos y pueden provocar que se eliminen URL del índice.