HTTPQUERY
Español

502 Bad Gateway

Uso

El código de estado 502 Bad Gateway significa que el servidor actúa como proxy o pasarela de un servidor upstream. Tras reenviar la solicitud HTTP, el servidor upstream devolvió una respuesta no válida. El tiempo necesario para resolver este problema es impredecible.

Cuando el servidor de origen devuelve un código de estado HTTP de error, lo esperable es que ese mismo código de estado y la información asociada se reenvíen al cliente para describir el problema con la mayor precisión posible.

Cuando el proxy no recibe absolutamente ninguna respuesta del servidor upstream, el código de estado 504 Gateway Timeout resulta más apropiado.

Nota

502 Bad Gateway significa que el proxy recibió una respuesta no válida del backend. El backend respondió, pero la respuesta estaba mal formada o era inesperada. 504 Gateway Timeout significa que el backend no respondió en absoluto dentro del tiempo de espera. El 502 apunta a una caída del backend o a un error de protocolo, mientras que el 504 apunta a un backend lento o inalcanzable. Ninguno de los dos códigos indica que el cliente haya hecho nada mal.

Impacto en SEO

Googlebot interpreta los errores 5xx como una señal para reducir temporalmente la frecuencia de rastreo en todo el sitio. Las URL indexadas previamente se conservan al principio, pero una caída prolongada hace que Google las elimine del índice. Se ignora cualquier contenido devuelto junto con una respuesta 502. En este aspecto, Google trata 500, 502 y 503 de forma idéntica. Un error 5xx en el archivo robots.txt es mucho más grave, incluso si todas las demás páginas del sitio devuelven 200. Google detiene el rastreo hasta 12 horas y luego recurre a una copia en caché durante un máximo de 30 días. Si el error persiste, Google desindexa el sitio por completo. Bingbot también considera las respuestas 5xx como fallos de rastreo. Los errores 5xx persistentes impiden la indexación en Bing.

Ejemplo

El cliente solicita un recurso y el servidor responde con el código de estado 502 Bad Gateway porque el servidor upstream devolvió una respuesta no válida.

Solicitud

GET /news HTTP/1.1
Host: example.com

Respuesta

HTTP/1.1 502 Bad Gateway
Content-Type: text/html; charset=UTF-8
Content-Length: 134

<html>
  <head>
    <title>Bad Gateway</title>
  </head>
  <body>
    <p>The server is unreachable at this time.</p>
  </body>
</html>

Cómo solucionarlo

Revise primero /var/log/nginx/error.log o el registro de errores equivalente del proxy. El mensaje del registro identifica el modo de fallo del upstream: conexión rechazada, conexión cerrada prematuramente o cabecera no válida.

Causas raíz habituales y sus soluciones:

En las configuraciones de proxy inverso con Apache, revise las directivas ProxyPass/ProxyPassReverse y confirme que mod_proxy y mod_proxy_http están habilitados. Ejecute apachectl configtest antes de reiniciar.

Tras aplicar las correcciones, ejecute nginx -t para validar la configuración y después recargue.

Referencias de código

.NET

HttpStatusCode.BadGateway

Rust

http::StatusCode::BAD_GATEWAY

Rails

:bad_gateway

Go

http.StatusBadGateway

Symfony

Response::HTTP_BAD_GATEWAY

Python3.5+

http.HTTPStatus.BAD_GATEWAY

Java

java.net.HttpURLConnection.HTTP_BAD_GATEWAY

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_BAD_GATEWAY

Angular

@angular/common/http/HttpStatusCode.BadGateway