SSL Handshake Failed: 11 causas y cómo solucionarlas
· Equipo de CSR.plus

- •Un handshake fallido casi siempre se debe a una de 11 causas: certificado, cifrado, SNI, protocolo o red.
- •Diagnostica en orden: caducidad, coincidencia de host, integridad de la cadena y luego versiones TLS y cifrados.
- •La mayoría de los fallos se resuelven con una cadena intermedia correcta o una suite de cifrado compatible.
Qué ocurre cuando falla un handshake
Durante el handshake TLS, el cliente y el servidor deben acordar una versión de protocolo, una suite de cifrado y una cadena de certificados válida. Fallar en cualquier paso aborta la conexión. Los puntos de fallo habituales son: certificado caducado, un host no cubierto por el certificado, una cadena incompleta (el servidor envía la hoja pero no el intermedio), una versión TLS no soportada, cifrados incompatibles, SNI ausente o un firewall/NAT que descarta el ClientHello.
Diagnóstico en menos de un minuto
Ejecuta openssl s_client -connect tudominio.com:443 -servername tudominio.com y lee la salida. «Verify return code: 0» significa que la cadena está bien. «unable to get local issuer certificate» apunta a un intermedio ausente. «no peer certificate available» o una línea vacía tras CONNECTED significa que el servidor nunca completó el handshake: un problema de protocolo o cifrado. Los errores de consola del navegador añaden la vista del cliente.
Soluciones para las 5 causas más frecuentes
1) Intermedio ausente: descarga el paquete de CA y concatena hoja + intermedio en el orden correcto. 2) Cifrados incompatibles: habilita una suite común como TLS_AES_256_GCM_SHA384 (TLS 1.3) o ECDHE-RSA-AES256-GCM (TLS 1.2). 3) Versión TLS: habilita TLS 1.2 y 1.3 y deshabilita versiones inferiores en el servidor. 4) Host/SNI: asegúrate de que el certificado incluye el host exacto y que SNI está activado. 5) Red: comprueba que el puerto 443 está abierto y que un balanceador o CDN no termina TLS con su propia configuración.
FAQ
¿Por qué el handshake falla en el navegador pero funciona con curl?
Distintos clientes aceptan distintas versiones TLS y suites de cifrado. Si funciona con curl pero no en un navegador antiguo, el cliente no soporta la versión negociada: habilita TLS 1.2 como mínimo.
¿Un firewall puede provocar fallos de handshake?
Sí. Algunos firewalls y dispositivos NAT descartan paquetes ClientHello grandes o bloquean puertos TCP en silencio. Pruébalo con un puerto no estándar o con captura de paquetes.
UptimeRobot
Monitoriza tu SSL y tu tiempo de actividad gratis
UptimeRobot vigila tus certificados y endpoints 24/7: 50 monitores en el plan gratuito.
Enlace de afiliado: podemos ganar una comisión sin coste adicional para ti.
Herramientas SSL/TLS gratuitas
Verifica e inspecciona tus certificados en segundos.