Tecnología · GUÍA PRÁCTICA
Error 56 de curl “Recv failure”: encuentra la etapa del reset antes de reintentar
“Connection reset by peer” demuestra que la recepción terminó de golpe, pero no identifica la máquina o proceso causante. Conserva el curl efectivo, la dirección de bytes y la última etapa completada.

“Connection reset by peer” demuestra que la recepción terminó de golpe, pero no identifica la máquina o proceso causante. Conserva el curl efectivo, la dirección de bytes y la última etapa completada.
CURLE_RECV_ERROR es el código56 y significa fallo al recibir datos de red. Un reset TCP puede venir de un extremo o función intermedia; curl solo no prueba el emisor.
1. Congela la solicitud con seguridad
Registra binario curl, `curl -V`, host/puerto, variables proxy, identidad de contenedor/servicio, DNS y comando sin secretos; conserva error56, hora, request ID y bytes enviados/recibidos.
Antes de reintentar clasifica método y efectos. POST, PUT o uploads pueden haberse procesado sin respuesta; usa idempotency key o confirma el estado del servidor.
2. Marca la última etapa completa
Haz una reproducción con `--verbose` o trace temporizado sin secretos y marca el último límite confirmado: TCP, CONNECT, TLS, cabeceras/cuerpo de solicitud o cabeceras/cuerpo de respuesta.
La dirección importa. Un reset durante upload difiere de uno tras recibir estado y bytes. Conserva longitudes y conteos, no credenciales ni cuerpos sensibles.
3. Correlaciona al dueño de la conexión
Alinea hora, tupla, host, protocolo y request ID con logs de origen, reverse proxy, load balancer y salida. Un reset TCP describe la conexión, no siempre la aplicación origen.
Compara una variable por vez entre ruta directa y proxy; otro cliente solo vale si usó el mismo DNS, familia IP, proxy, TLS, HTTP y payload.
4. Cambia una sola causa
Repara el límite dueño de la primera contradicción: lectura o rechazo limpio del servidor, ruta o idle del proxy, worker caído o expectativa de protocolo. No desactives TLS ni fuerces HTTP/1.1 solo por cambiar el timing.
Usa `--retry` tras clasificar la operación y las reglas de la versión instalada. Un éxito puede ocultar trabajo duplicado o un umbral determinista.
5. Acepta la misma ruta y carga
Repite con mismo usuario, binario, red y clase de payload. Exige salida0, estado esperado, cuerpo/checksum completo, sin reset en logs y otra ejecución limpia.
Guarda última etapa buena, bytes por dirección, observador del reset, log correlacionado, un cambio y resultado de aceptación.
