Watch at EaseHistorias. Respuestas. Perspectiva.

Solución de problemas · GUÍA PRÁCTICA

¿curl error 7 “Failed to connect”? Prueba destino, ruta y escucha antes de cambiar el firewall

El error 7 solo confirma que falló la conexión. Conserva el salto, el entorno y el resultado del socket antes de tocar controles.

Diagrama original de entorno, primer salto, ruta y servicio en escucha.
Ilustración original de Watch at Ease: identifica el salto fallido antes de cambiar controles. Watch at Ease

El código 7 indica que libcurl no pudo conectar con un host o proxy, pero no demuestra por sí solo que un firewall bloquee el tráfico.

Congela la solicitud y las líneas de conexión, reproduce en el entorno que falla y separa rechazo, espera agotada y ruta inexistente antes de cambiar un único responsable.

Congela el salto intentado

Guarda argumentos, URL, directorio, identidad, error completo y líneas de curl -v; anota host, puerto, dirección y proxy elegido.

No acortes ni reescribas la orden en la primera comparación: cambiar URL, proxy o puerto crea otro intento.

Reproduce en el entorno que falla

Ejecuta la misma prueba limitada desde el contenedor, servicio, runner o host de la aplicación original.

Registra variables de proxy, configuración de curl, familia de direcciones y espacio de red. El caso Docker muestra destinos distintos según el entorno.

Separa rechazo, espera y falta de ruta

ECONNREFUSED, ETIMEDOUT y ENETUNREACH llevan a ramas de reparación diferentes; conserva el resultado concreto.

Prueba el destino y un control conocido desde el mismo entorno. Un puerto no demuestra un fallo global del firewall.

Verifica destino y escucha

En infraestructura propia, confirma servicio, puerto, interfaz y familia de direcciones, y compara el endpoint anunciado con la escucha real.

Si hay varias direcciones, guarda el orden probado por curl. El éxito IPv4 no elimina un fallo de escucha IPv6.

Aísla el primer salto del proxy

Si curl eligió proxy, la primera conexión TCP va al proxy. Prueba ese salto en el mismo entorno antes de evaluar el destino.

No borres el proxy global: registra variables, archivos y política de origen, y realiza un cambio reversible.

Repite la solicitud sin cambios

Usa la misma URL, proxy y entorno; registra el par conectado, respuesta, tiempo de conexión y código final.

Detente si el dueño sigue incierto, el cambio amplía exposición o el endpoint pertenece a otro equipo; entrega dirección, puerto, resultado y hora.

Diagrama original que separa rechazo, espera agotada y ruta inexistente.
Ilustración original de Watch at Ease: clasifica el resultado antes de reparar. Watch at Ease