ERR_SSL_VERSION_OR_CIPHER_MISMATCH: Cómo Solucionarlo (Todos los Navegadores)

¿Qué es ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
ERR_SSL_VERSION_OR_CIPHER_MISMATCH es un error del navegador que aparece cuando tu navegador y el servidor web no pueden acordar una versión de protocolo TLS o un conjunto de cifrado de encriptación en común durante el handshake SSL/TLS. El navegador bloquea la conexión por completo porque no se puede establecer un canal seguro.
Cada conexión HTTPS comienza con un handshake TLS. Durante este handshake, el navegador envía una lista de versiones TLS y conjuntos de cifrado que soporta (llamada ClientHello). El servidor elige uno que también soporte y responde (ServerHello). Si no hay coincidencia — el servidor solo ofrece protocolos o cifrados que el navegador ha dejado de soportar o no reconoce — el handshake falla inmediatamente con este error.
El código de error subyacente de Chromium es net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH. En Firefox, la misma falla aparece como SSL_ERROR_NO_CYPHER_OVERLAP. Ambos significan lo mismo: el cliente y el servidor no tienen un terreno común para una conexión segura.
Cómo se ve el error en cada navegador
Los diferentes navegadores muestran distintos mensajes de error para la misma falla subyacente de negociación TLS. El mensaje de error completo de Chrome dice: "This site can't provide a secure connection. [dominio] uses an unsupported protocol."
| Navegador | Mensaje de error | Código de error |
|---|---|---|
| Chrome / Edge / Brave / Opera | This site can't provide a secure connection — uses an unsupported protocol | ERR_SSL_VERSION_OR_CIPHER_MISMATCH |
| Firefox | Secure Connection Failed — Cannot communicate securely with peer: no common encryption algorithm(s) | SSL_ERROR_NO_CYPHER_OVERLAP |
| Safari | Safari can't open the page because Safari can't establish a secure connection to the server | No se muestra código específico |
| cURL / OpenSSL | no protocols available / no ciphers available | SSL routines error |
¿Qué causa ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
Este error tiene causas tanto del lado del servidor como del lado del cliente. Si el error aparece en un sitio web específico, el problema es casi con certeza del servidor. Si aparece en muchos sitios web, algo en tu dispositivo o red está interfiriendo.
El servidor usa TLS 1.0 o TLS 1.1 obsoletos — Chrome, Edge, Firefox y Safari dejaron de soportar TLS 1.0 y 1.1 en 2020. Si un servidor solo ofrece estos protocolos antiguos, los navegadores modernos se niegan a conectarse. Esta es la causa #1 del lado del servidor.
Conjuntos de cifrado débiles o obsoletos — Los conjuntos de cifrado como RC4 (eliminado de Chrome 48 en 2016), 3DES y cifrados de exportación están bloqueados por todos los navegadores modernos. Si el servidor solo ofrece estos, el handshake falla.
Certificado firmado con SHA-1 — Los navegadores dejaron de confiar en certificados SHA-1 en 2017. Si tu certificado usa SHA-1 en lugar de SHA-256, será rechazado.
Certificado SSL vencido — Un certificado vencido puede provocar este error en algunos navegadores en lugar del más común ERR_CERT_DATE_INVALID, especialmente cuando se combina con otras configuraciones incorrectas.
Nombre del certificado no coincide — El certificado SSL fue emitido para
example.compero se accede al sitio enwww.example.com(o un subdominio no cubierto por el certificado).Cadena de certificados incompleta — La falta de certificados intermedios impide que el navegador verifique la cadena de confianza. Aprende más en nuestra guía de cadena de certificados SSL.
Configuración incorrecta de Cloudflare/CDN — Si tu sitio usa Cloudflare, el certificado SSL puede no estar activo aún (tarda hasta 24 horas), el registro DNS puede estar configurado como solo DNS en lugar de Proxied, o un subdominio multinivel no está cubierto por el certificado Universal.
Sistema operativo antiguo — Windows XP, Android 4.x y otras versiones de SO heredadas no soportan TLS 1.2 ni conjuntos de cifrado modernos, por lo que no pueden conectarse a servidores que los requieran.
Escaneo HTTPS del antivirus — Software de seguridad como Avast, Kaspersky o Bitdefender intercepta las conexiones HTTPS con sus propios certificados, lo que puede causar incompatibilidades de cifrado.
Navegador o dispositivo necesita actualización — Versiones de navegador muy antiguas pueden carecer de soporte para los conjuntos de cifrado que el servidor requiere.
Cómo solucionar ERR_SSL_VERSION_OR_CIPHER_MISMATCH (Para usuarios)
Si ves este error mientras navegas, lo más probable es que el sitio web tenga un problema SSL del lado del servidor. Sin embargo, hay varias cosas que puedes probar por tu cuenta primero. Si el error aparece solo en un sitio, pasa a las soluciones para propietarios de sitios web — el problema está en su servidor. Si aparece en varios sitios, prueba estas soluciones para usuarios.
Solución 1: Limpiar el estado SSL (Windows)
Windows almacena en caché los certificados SSL y los datos de sesión por separado del navegador. Las entradas obsoletas o corruptas en esta caché a nivel del sistema pueden causar errores persistentes de incompatibilidad de cifrado incluso después de limpiar la caché del navegador.
Abre el menú Inicio y busca Opciones de Internet (o presiona Win+R y escribe inetcpl.cpl). Ve a la pestaña Contenido y haz clic en Borrar estado SSL. Haz clic en Aceptar y reinicia tu navegador.
Solución 2: Limpiar caché y cookies del navegador
Las políticas HSTS (HTTP Strict Transport Security) en caché o los tickets de sesión SSL antiguos pueden forzar a tu navegador a intentar conexiones con parámetros desactualizados.
Chrome/Edge: Presiona
Ctrl+Shift+Delete→ establece en Todos los tiempos → marca Imágenes y archivos en caché y Cookies → haz clic en Borrar datosFirefox: Presiona
Ctrl+Shift+Delete→ establece en Todo → marca Caché y Cookies → haz clic en Limpiar ahoraSafari: Menú Safari → Configuración → Privacidad → Administrar datos de sitios web → Eliminar todo
Para un solo dominio, también puedes borrar su entrada HSTS en Chrome: ve a chrome://net-internals/#hsts → en "Delete domain security policies" → ingresa el dominio → haz clic en Delete.
Solución 3: Desactivar el protocolo QUIC
El protocolo QUIC de Chrome (HTTP/3 sobre UDP) a veces puede interferir con la negociación TLS en servidores que no lo soportan correctamente, o cuando equipos de red bloquean UDP en el puerto 443.
Paso 1: Escribe
chrome://flags/#enable-quicen la barra de direccionesPaso 2: Establece Experimental QUIC protocol en Disabled
Paso 3: Haz clic en Relaunch para reiniciar Chrome
Si el error desaparece, el problema era un conflicto con QUIC/HTTP/3. Puedes dejar QUIC desactivado — las páginas se cargarán mediante HTTPS estándar (HTTP/2 sobre TCP) sin diferencia visible.
Solución 4: Actualizar tu navegador y sistema operativo
Los navegadores y sistemas operativos más antiguos pueden no soportar las versiones TLS o los conjuntos de cifrado que los sitios web modernos requieren. Esta es una causa común en sistemas heredados.
Actualiza Chrome en chrome://settings/help. Actualiza Edge en edge://settings/help. Para tu sistema operativo, asegúrate de estar usando al menos Windows 10, macOS 10.15 o una distribución Linux reciente. Windows XP y Windows Vista no soportan TLS 1.2 de forma nativa y presentarán este error en casi todos los sitios web modernos.
Solución 5: Desactivar el escaneo HTTPS del antivirus
Los programas antivirus que escanean el tráfico HTTPS (Avast, Kaspersky, Bitdefender, ESET, Norton) actúan como un proxy man-in-the-middle — interceptan el handshake TLS y presentan su propio certificado al navegador. Esto puede causar incompatibilidades de cifrado cuando el antivirus no soporta los mismos cifrados que el servidor original.
Busca configuraciones llamadas HTTPS Scanning, SSL Scanning, Web Shield o Encrypted Connection Scanning en tu antivirus y desactívalas temporalmente. Si el error se resuelve, agrega el dominio afectado a la lista de exclusiones del antivirus en lugar de dejar la función desactivada.
Solución 6: Probar en modo incógnito / privado
El modo incógnito usa un estado limpio del navegador sin datos en caché, cookies ni extensiones. Si el sitio web carga en modo incógnito pero no en modo normal, una extensión del navegador, datos en caché o un perfil corrupto están causando el error.
Abre una ventana de incógnito con Ctrl+Shift+N (Chrome/Edge) o Ctrl+Shift+P (Firefox). Si el sitio funciona, regresa y limpia tu caché (Solución 2) o desactiva las extensiones una por una para encontrar la culpable.
Solución 7: Desactivar VPN o proxy
Las VPN y los proxies HTTP se sitúan entre tu navegador y el servidor web. Algunas VPN realizan inspección SSL o enrutan conexiones a través de servidores con soporte limitado de cifrado. Los proxies corporativos frecuentemente usan intercepción SSL que puede provocar incompatibilidades de cifrado.
Desconecta temporalmente tu VPN e intenta cargar el sitio web directamente. Si funciona sin la VPN, intenta cambiar a una ubicación de servidor VPN diferente o contacta a tu proveedor de VPN sobre la compatibilidad TLS.
Cómo solucionar ERR_SSL_VERSION_OR_CIPHER_MISMATCH (Para propietarios de sitios web)
Si los usuarios reportan este error en tu sitio web, el problema está en la configuración SSL/TLS de tu servidor. Las soluciones a continuación abordan las causas raíz — desde problemas de certificados hasta configuraciones de protocolo y cifrado.
Solución 1: Verificar tu certificado SSL
Comienza verificando que tu certificado SSL sea válido, no esté vencido y cubra el dominio correcto. Usa el SSL Checker de DNS Robot para escanear instantáneamente el estado de tu certificado, la fecha de vencimiento, el emisor y la completitud de la cadena.
Problemas comunes de certificados que causan este error:
Certificado vencido — Los certificados de Let's Encrypt vencen cada 90 días. Si la renovación automática falló, tu certificado vence silenciosamente y los navegadores se niegan a conectarse.
Dominio incorrecto — El certificado cubre
example.compero el sitio se sirve enwww.example.como un subdominio. El certificado debe coincidir con el dominio exacto o incluir un comodín (*.example.com).Certificado SHA-1 — Todos los navegadores principales rechazaron los certificados SHA-1 en 2017. Si tu certificado todavía usa SHA-1, reemítelo con SHA-256.
Certificado autofirmado — Solo es confiable en desarrollo. Los sitios en producción necesitan un certificado de una Autoridad Certificadora reconocida.
# Check certificate details from command line
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates -subject -issuer -fingerprint -sha256
# Check which TLS versions the server supports
nmap --script ssl-enum-ciphers -p 443 yourdomain.com
# Renew Let's Encrypt certificate
sudo certbot renew --force-renewalSolución 2: Habilitar TLS 1.2 y TLS 1.3
Todos los navegadores modernos requieren al menos TLS 1.2. Si tu servidor solo ofrece TLS 1.0 o 1.1, los navegadores mostrarán ERR_SSL_VERSION_OR_CIPHER_MISMATCH. Habilita tanto TLS 1.2 como TLS 1.3 — desactiva todo lo anterior.
# Nginx — in nginx.conf or site config
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# Apache — in httpd.conf or ssl.conf
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder on
# After changing, restart your web server:
sudo systemctl restart nginx # or apache2Después de actualizar, verifica con el SSL Checker de DNS Robot o Qualys SSL Labs que solo TLS 1.2 y 1.3 estén activos.
Solución 3: Actualizar tus conjuntos de cifrado
Incluso con TLS 1.2 habilitado, usar conjuntos de cifrado obsoletos causa el mismo error. Los navegadores bloquean RC4 (desde 2016), 3DES, cifrados de exportación y cifrados NULL. Tu servidor debe ofrecer cifrados AEAD modernos como AES-GCM o ChaCha20-Poly1305.
# Nginx — modern cipher configuration
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
ssl_prefer_server_ciphers off; # Let client choose (TLS 1.3 best practice)
# Apache — modern cipher configuration
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder offSolución 4: Instalar la cadena de certificados completa
Una cadena de certificados incompleta — donde el servidor envía su propio certificado pero no los certificados intermedios — puede provocar ERR_SSL_VERSION_OR_CIPHER_MISMATCH en algunos navegadores y dispositivos. El servidor debe enviar la cadena completa desde el certificado hoja hasta la CA intermedia.
Para Let's Encrypt, usa siempre fullchain.pem (no cert.pem). Para otras CAs, descarga el certificado intermedio de la documentación de tu CA y concanétalo con tu certificado.
# Nginx — use fullchain, not just cert
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# Apache
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
# Verify chain is complete
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep -E "(depth|verify|Certificate chain)"Solución 5: Corregir la discrepancia del nombre del certificado
Si tu certificado SSL no cubre el dominio o subdominio exacto al que se está accediendo, el handshake TLS puede fallar con un error de incompatibilidad de cifrado. Esto ocurre comúnmente cuando:
www vs sin www — El certificado cubre
example.compero nowww.example.com. Solución: usa un certificado que cubra ambos, u obtén un certificado comodín (*.example.com).Subdominio no cubierto — El certificado cubre
example.compero el usuario visitaapp.example.com. Un certificado comodín cubre subdominios de primer nivel, pero no multinivel comostaging.app.example.com.Dominio completamente incorrecto — El servidor presenta un certificado para un dominio diferente (común en hosting compartido o hosts virtuales mal configurados).
Verifica qué dominio cubre tu certificado usando el SSL Checker de DNS Robot — muestra la lista de Subject Alternative Names (SANs) con cada dominio y subdominio cubierto por el certificado.
Solución 6: Correcciones específicas de Cloudflare
Si tu sitio usa Cloudflare y los visitantes ven ERR_SSL_VERSION_OR_CIPHER_MISMATCH, el problema generalmente está en cómo se configura el proxy SSL de Cloudflare.
Certificado aún no activo — El SSL Universal de Cloudflare tarda de 15 minutos a 24 horas en activarse después de agregar un dominio. Verifica el estado del certificado en el Panel de Cloudflare → SSL/TLS → Edge Certificates. Debe mostrar "Active".
Registro DNS configurado como solo DNS — El registro DNS debe estar configurado como Proxied (nube naranja) para que Cloudflare sirva su certificado SSL. Si está configurado como DNS-only (nube gris), Cloudflare no actúa como proxy en la conexión y se usa el certificado de tu servidor de origen.
Subdominio multinivel — El certificado Universal de Cloudflare solo cubre
example.comy*.example.com(un nivel). Parasub.sub.example.com, necesitas un Advanced Certificate, Total TLS o un certificado personalizado.Modo SSL/TLS incorrecto — En el Panel de Cloudflare → SSL/TLS, configura el modo de encriptación como Full (Strict) si tu origen tiene un certificado válido, o Full si usas un Cloudflare Origin Certificate.
Solución 7: Verificar la configuración SSL del CDN
Si tu sitio usa un CDN (CloudFront, Fastly, Akamai o cualquier proxy inverso), el CDN termina la conexión TLS con el visitante. Las configuraciones SSL incorrectas a nivel del CDN causan este error incluso si el SSL de tu servidor de origen es perfecto.
Certificado del CDN vencido o faltante — Asegúrate de que el CDN tenga un certificado SSL válido para tu dominio. En AWS CloudFront, esto significa un certificado ACM. En otros CDNs, verifica que tu certificado personalizado esté cargado y activo.
Versión TLS del CDN demasiado antigua — Algunas configuraciones de CDN permiten TLS 1.0 por defecto. Actualiza la versión mínima de TLS de tu CDN a 1.2.
SNI no soportado — Si el CDN sirve múltiples dominios desde una IP, debe soportar Server Name Indication (SNI) para presentar el certificado correcto para cada dominio.
Cómo verificar tu configuración SSL
Después de realizar cambios, verifica que tu configuración SSL sea correcta. Estas herramientas te ayudan a detectar problemas antes de que lo hagan tus visitantes.
[DNS Robot SSL Checker](/ssl-checker) — Verificación rápida del estado del certificado, vencimiento, completitud de la cadena y emisor. Resultados en segundos.
Qualys SSL Labs — Escaneo profundo de versiones TLS, conjuntos de cifrado, soporte de protocolos y vulnerabilidades conocidas. Otorga una calificación con letras (apunta a A o A+).
OpenSSL CLI — Prueba desde la línea de comandos con
openssl s_client -connect domain.com:443para ver el handshake en bruto, la cadena de certificados y el cifrado negociado.Chrome DevTools — Abre DevTools (F12) → pestaña Security → muestra la versión TLS, el conjunto de cifrado y los detalles del certificado para la conexión actual.
# Quick OpenSSL check — shows protocol, cipher, and certificate
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep -E "(Protocol|Cipher|subject|issuer|Not After)"
# Test specific TLS version support
openssl s_client -connect yourdomain.com:443 -tls1_2 2>/dev/null | head -5 # Test TLS 1.2
openssl s_client -connect yourdomain.com:443 -tls1_3 2>/dev/null | head -5 # Test TLS 1.3Errores SSL/TLS relacionados
Chrome tiene varios códigos de error relacionados con SSL. Todos indican diferentes etapas de falla TLS.
| Código de error | Qué significa | Causa común |
|---|---|---|
| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | No hay versión TLS o conjunto de cifrado compartido | Servidor usa TLS 1.0/1.1, cifrados RC4 o certificado SHA-1 |
| ERR_SSL_PROTOCOL_ERROR | Falla general del handshake TLS | Fecha/hora incorrecta, conflicto QUIC, estado SSL corrupto |
| ERR_CERT_AUTHORITY_INVALID | Certificado no confiable | Certificado autofirmado, intermedio faltante, CA no confiable |
| ERR_CERT_DATE_INVALID | Certificado vencido o aún no válido | Certificado vencido, reloj del sistema incorrecto |
| ERR_CERT_COMMON_NAME_INVALID | Discrepancia del dominio del certificado | Certificado para example.com, acceso en www.example.com |
Para cualquiera de estos errores SSL, comienza verificando el certificado con el SSL Checker de DNS Robot. Muestra el estado del certificado, la cadena, el vencimiento y los protocolos soportados en un solo escaneo. También puedes leer nuestras guías sobre ERR_SSL_PROTOCOL_ERROR y Tu conexión no es privada para soluciones detalladas.
Verifica tu certificado SSL ahora
Usa el SSL Checker gratuito de DNS Robot para verificar el estado de tu certificado, la fecha de vencimiento, la cadena de certificados y la configuración TLS. Diagnostica ERR_SSL_VERSION_OR_CIPHER_MISMATCH en segundos.
Try SSL CheckerFrequently Asked Questions
ERR_SSL_VERSION_OR_CIPHER_MISMATCH significa que tu navegador y el servidor web no pueden acordar una versión de protocolo TLS o un conjunto de cifrado de encriptación en común. El navegador envía una lista de opciones soportadas durante el handshake TLS, y el servidor no tiene ninguna que coincida. Esto impide que se establezca cualquier conexión segura.