Análisis PCAP del tiempo de espera de puerta de enlace HTTP 502 y 504: ¿Proxy, equilibrador de carga, flujo ascendente o red?
Cómo diagnosticar HTTP 502 Bad Gateway y 504 Gateway Timeout con capturas de paquetes, incluyendo proxy a TCP ascendente, TLS, sincronización de solicitudes, restablecimientos de backend y respuestas detenidas.
Los errores HTTP 502 Bad Gateway y 504 Gateway Timeout son síntomas de la capa de proxy. Un navegador o un cliente API ve la respuesta del proxy, pero el problema real puede estar entre el proxy y el servidor ascendente, dentro de la aplicación ascendente, en la negociación TLS, en la accesibilidad de TCP o en la política de tiempo de espera. Los usuarios buscan "análisis de pcap 502", "captura de paquetes de tiempo de espera de puerta de enlace 504", "restablecimiento de proxy ascendente", "tiempo de espera de equilibrio de carga Wireshark" y "solución de problemas de red de puerta de enlace incorrecta" cuando los registros no son suficientes.
La cirugía PCAP es útil porque, si es posible, las fallas del proxy necesitan la historia del paquete en ambos lados: del cliente al proxy y del proxy al ascendente.
Lo que suele significar 502
502 Bad Gateway generalmente significa que el proxy recibió una respuesta no válida, incompleta o fallida desde el nivel superior. Las causas incluyen:
- Restablecimiento de TCP ascendente.
- Fallo del protocolo de enlace TLS ascendente.
- Conexión cerrada aguas arriba temprano.
- Proxy conectado al puerto incorrecto.
- El backend devolvió HTTP con formato incorrecto.
- El equilibrador de carga no tenía un flujo ascendente saludable.
- El protocolo no coincide, como se esperaba HTTPS pero se envió HTTP.
El cliente solo ve el 502 del proxy. El seguimiento del paquete puede mostrar lo que sucedió en sentido ascendente.
Lo que suele significar 504
504 Gateway Timeout generalmente significa que el proxy reenvió la solicitud pero no recibió una respuesta ascendente completa antes de que expirara el tiempo de espera.
Las causas incluyen:
- La aplicación ascendente es lenta.
- Conexión TCP a puestos ascendentes.
- El servidor acepta la conexión pero nunca responde.
- Respuesta grande bloqueada por MTU o pérdida de paquetes.
- Retraso de la base de datos o de la dependencia detrás del flujo ascendente.
- El tiempo de espera del proxy es demasiado corto.
- Tiempo de inactividad del firewall o NAT.
La evidencia clave es el momento: cuándo el proxy envió la solicitud ascendente y cuándo se rindió.
Colocación de captura
La mejor evidencia proviene de:
- Lado del cliente: ve la final 502/504.
- Interfaz orientada al cliente del lado proxy.
- Interfaz ascendente del lado proxy.
- Lado del servidor ascendente.
Si captura solo en el cliente, puede demostrar que el proxy devolvió 502/504, pero no puede saber por qué. Si captura en el proxy, puede inspeccionar el comportamiento ascendente.
TCP y TLS antes de HTTP
Antes de diagnosticar HTTP, verifique:
- ¿El proxy estableció TCP en sentido ascendente?
- ¿Se completó el protocolo de enlace TLS?
- ¿SNI cumplió con las expectativas iniciales?
- ¿Se reinició el flujo ascendente?
- ¿Se retransmitieron los paquetes?
Si TCP o TLS falla, el estado HTTP puede ser solo la traducción del proxy de una falla de nivel inferior.
Solicitud enviada, sin respuesta
Para 504, busque:
Proxy -> Upstream: HTTP request
No upstream response for timeout interval
Proxy -> Client: HTTP/1.1 504 Gateway Timeout
If upstream later responds after the proxy timeout, the application is slow or timeout is too short. If upstream never sees the request, routing or proxy-to-upstream path is suspect.
Checklist
Use this workflow:
- Identify client, proxy, and upstream.
- Capture both sides of proxy if possible.
- Confirm final status returned to client.
- Inspect proxy-to-upstream TCP handshake.
- Inspect TLS handshake if HTTPS upstream.
- Check whether upstream request was sent.
- Check whether upstream sent any response.
- Look for RST, FIN, retransmission, zero window, or idle timeout.
- Measure time from upstream request to proxy error.
- Preserve packet timing when trimming.
Final diagnosis
HTTP 502 and 504 are not root causes. They are proxy reports. Packet evidence can distinguish upstream reset, TLS failure, no healthy backend, slow upstream, network stall, MTU issue, or timeout policy.
PCAP Surgery helps isolate the exact proxy/upstream conversation so the status code can be tied to packet-level behavior.
<!-- pcap-localized-evidence-foundation-v1:start -->Respuesta basada en paquetes para «Análisis PCAP del tiempo de espera de puerta de enlace HTTP 502 y 504: ¿Proxy, equilibrador de carga, flujo ascendente o red?»
La respuesta directa es que una etiqueta del analizador o un mensaje de la aplicación no determina la causa. Empieza por punto de captura y dirección; demuestra la última frontera correcta y la primera fallida. En «Análisis PCAP del tiempo de espera de puerta de enlace HTTP 502 y 504: ¿Proxy, equilibrador de carga, flujo ascendente o red?», otro revisor debe poder encontrar el packet, hueco o intervalo que sostiene cada frase y saber qué evidencia podría refutarla.
Situar la captura en el camino
Registra client, server y cualquier proxy, load balancer, NAT o firewall. Indica interface, lugar, reloj, sistema y direcciones visibles. Una captura junto al client demuestra lo que llegó allí, no que el server no enviara. Una junto al server demuestra salida en ese punto, no tránsito completo. Antes de comparar dos puntos corrige clock offset y alinea flow tuple, TCP sequence o transaction ID.
Comprueba calidad: snap length, dropped packets, offload, capture filter, ring buffer y hora inicial. Un checksum incorrecto en host puede ser offload artifact. Un segmento grande puede provenir de GRO/TSO y no existir así en el cable. Un packet ausente en un archivo limitado no es network loss hasta demostrar que el punto debía verlo.
Leer fronteras en orden
| Frontera | Evidencia correcta | Evidencia de fallo |
|---|---|---|
| Link e IP | dirección, addresses y ruta coherentes | ARP/NDP ausente, ICMP, MTU, asimetría |
| TCP | SYN, SYN-ACK, ACK y sequence | retransmission, RST, zero window, timeout |
| TLS | ClientHello, ServerHello y progreso | alert o límite SNI/ALPN/certificate |
| Aplicación | request completo y response relacionado | status, gap o cierre temprano |
| Usuario | response time o failure window | stall ligado a una frontera |
Detente en la primera frontera sin éxito. Si TCP no termina, no empieces por HTTP. Si request llega al proxy pero no al upstream, el límite está en proxy o su camino. Si llega al upstream sin response antes del timeout, usa ACK y progreso de bytes para separar application delay de network loss.
Separar observación e hipótesis
La observación se puede señalar: «Client envió hasta cierta sequence; sender repitió un segmento tres veces y no apareció ACK avanzado en este punto». La hipótesis es «el camino perdió el segmento». Otra captura o dropped records pueden refutarla. Para cada hipótesis escribe una prueba favorable y una contraria.
Retransmission o duplicate ACK no asigna culpable. Reordering, loss, capture artifact y receiver delay producen marcas similares. Relaciona dirección, sequence, ACK, SACK, RTT, window y tiempo de aplicación. En DNS o DHCP enlaza transaction ID, addresses e intentos; en HTTP, request y response; en TLS, dirección del handshake.
Preservar el original
Calcula checksum y conserva el original sin cambios. Filtra, recorta y redacta una working copy. Registra input, transformación, hora, packet count antes/después, checksum y motivo. Tras reescribir timestamps o eliminar packets, esa copia pierde capacidad para algunas conclusiones de tiempo o secuencia.
Sustituye addresses e identificadores de forma constante para seguir el mismo endpoint. No elimines ports, directions o lengths necesarios. Guarda aparte el mapa secreto. Revisa límites de captura y exportación y el flujo general de PCAP Surgery.
QA antes de publicar
¿Título y respuesta tratan el mismo flow? ¿Cada duración nombra reloj y puntos? ¿Está identificada la primera frontera fallida? ¿Existe explicación alternativa? ¿Se repite cambiando una variable? ¿Se conserva el original? Declara el límite: «Esta captura demuestra comportamiento junto al client durante este intervalo; no demuestra la ejecución interna del server».
Semrush no se distribuye por plantilla. El término validado PCAP analyzer pertenece solo a la página del producto; este artículo conserva su pregunta técnica y no inventa volumen ni KD.
<!-- pcap-localized-evidence-foundation-v1:end --><!-- pcap-localized-flow-verdicts-v1:start -->Libro de flow y prueba de descarte
Para «Análisis PCAP del tiempo de espera de puerta de enlace HTTP 502 y 504: ¿Proxy, equilibrador de carga, flujo ascendente o red?», crea una fila por dirección: endpoints con alias, primer/último packet, bytes enviados y reconocidos, resets, retransmissions, requests y responses. No mezcles conexiones por compartir hostname; source port, inicio e initial sequence separan sessions. Con NAT o proxy documenta la relación de flows sin esperar iguales sequence o ports.
Calcular TCP, no contar etiquetas
Sigue next expected sequence del receiver. El payload mueve sequence por su longitud; SYN y FIN consumen un número. Duplicate ACK estable tras segmentos superiores apoya loss o reordering. SACK blocks muestran ranges recibidos, no dónde se perdieron. Si retransmission aparece junto al sender y no junto al receiver, prueba el tramo; si falta el segmento original en sender capture, revisa capture loss u offload.
Separa fast retransmit tras duplicate ACKs de RTO tras silencio. Compara RTT previo, advertised window, zero-window probes, burst y tamaño. No cada label es pérdida independiente: overlap, spurious retransmission o captura iniciada a mitad cambian la clasificación.
Medir tiempo con fronteras
Usa request first byte, request complete, response first byte y response complete. TTFB no equivale a tiempo de server sin punto y transporte. Retransmission antes de response añade posible network delay; request reconocido y silencio largo apoya application wait. Indica valor, unidad, clock y punto.
Con dos puntos alinea un packet distintivo en ambas direcciones, estima offset y usa intervals internos. Si clock es incierto, da un range. Compara ventanas correctas y fallidas de duración y carga similares.
Preguntas por protocolo
DNS: ¿ID, nombre y tipo coinciden, y retry cambia resolver o source port? DHCP: ¿Discover, Offer, Request y ACK pertenecen al mismo client identifier? TLS: ¿último handshake message por dirección y alert visible o cifrado? HTTP: ¿quién genera 4xx/5xx y existe upstream flow? TCP close: ¿quién envía FIN/RST y qué bytes quedan sin ACK?
Prueba decisiva y entrega
Elige dos hipótesis y una prueba que las separe. Captura al otro extremo separa network loss de measurement loss; desactivar offload en test comprueba artifact; request idéntico por path fijo prueba intermittency; log upstream contra packet boundary prueba application delay. Escribe resultados esperados antes.
Acepta cuando otro reviewer repite el cálculo con metadata, encuentra la misma frontera y entiende límites. Entrega original/derived checksum, filter, packet ranges y pasos de trim/redaction. Termina con owner, acción y condición medible.
<!-- pcap-localized-flow-verdicts-v1:end -->