5xx · Errores del servidor
Error 525 SSL Handshake Failed (Cloudflare): qué significa y cómo solucionarlo
El error 525 de Cloudflare (SSL handshake failed) significa que Cloudflare no ha podido establecer una conexión HTTPS con tu servidor de origen. Ocurre con el modo SSL "Full" o "Full (strict)" cuando el origen no tiene certificado en el puerto 443, no admite versiones de TLS o cifrados compatibles, o no responde al SNI del dominio.
Qué significa el código 525
Con los modos Full, Cloudflare habla HTTPS también con tu servidor. Si el origen no sabe negociar TLS para ese dominio (no hay certificado configurado, solo escucha HTTP en el 443, o solo acepta TLS 1.0), el saludo inicial falla y aparece el 525.
Causas habituales del error 525
- El origen no tiene HTTPS configurado en el puerto 443.
- El virtual host HTTPS no coincide con el dominio (SNI).
- Versiones de TLS o cifrados no compatibles.
- Firewall que corta la conexión durante la negociación.
Cómo solucionar el error 525
- Comprueba el HTTPS del origen: openssl s_client -connect IP:443 -servername dominio.
- Instala un certificado de origen de Cloudflare (gratuito, 15 años) o uno de Let's Encrypt.
- Activa TLS 1.2 y 1.3 en el servidor.
- Como último recurso temporal, el modo Flexible evita el error, pero deja sin cifrar el tramo Cloudflare → origen.
Configuración y comandos
Probar el TLS del origen
openssl s_client -connect 203.0.113.10:443 -servername ejemplo.com </dev/null 2>/dev/null | head -20nginx con certificado de origen de Cloudflare
server {
listen 443 ssl;
server_name ejemplo.com;
ssl_certificate /etc/ssl/cloudflare/origen.pem;
ssl_certificate_key /etc/ssl/cloudflare/origen.key;
ssl_protocols TLSv1.2 TLSv1.3;
}Ejemplo de respuesta
HTTP/2 525
server: cloudflareHerramientas para comprobarlo
Preguntas frecuentes
¿Qué diferencia hay entre 525 y 526?
525: no se ha podido negociar TLS (no hay HTTPS o es incompatible). 526: la negociación funciona, pero el certificado del origen no es válido y el modo es Full (strict).