ERR_SSL_VERSION_OR_CIPHER_MISMATCH: como corrigir (todos os navegadores)

Ponto-chave

ERR_SSL_VERSION_OR_CIPHER_MISMATCH (erro -113 do Chrome, “usa um protocolo incompatível”) significa que o navegador e o servidor não chegaram a um acordo sobre a versão do TLS ou a cifra na primeira etapa do handshake. As causas costumam estar no servidor: ele só fala TLS 1.0 ou 1.1, oferece apenas cifras antigas como RC4 ou 3DES ou, no Cloudflare e no CloudFront, não tem certificado para o nome digitado (muitas vezes o certificado ainda está sendo ativado ou o nome é um subdomínio de vários níveis). Como visitante, atualize o navegador e verifique a verificação HTTPS do antivírus; se só um site falha, apenas o dono dele pode corrigir.

Verifique agora

Guia para corrigir o ERR_SSL_VERSION_OR_CIPHER_MISMATCH: falha no handshake SSL entre navegador e servidor, com soluções passo a passo
Guia para corrigir o ERR_SSL_VERSION_OR_CIPHER_MISMATCH: falha no handshake SSL entre navegador e servidor, com soluções passo a passo
Comece a ler
  1. O que é ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
  2. Como o erro aparece em cada navegador
  3. O que causa o ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
  4. Testamos: servidores TLS antigos vs. cliente moderno
  5. Como corrigir ERR_SSL_VERSION_OR_CIPHER_MISMATCH (para usuários)
  6. Correção 1: verifique se o problema é do site
  7. Correção 2: atualize seu navegador e sistema operacional
  8. Correção 3: verifique a verificação HTTPS do antivírus
  9. Correção 4: desconecte uma VPN ou proxy
  10. Como corrigir ERR_SSL_VERSION_OR_CIPHER_MISMATCH (para donos de sites)
  11. Correção 1: garanta que todo nome tenha um certificado
  12. Correção 2: ative TLS 1.2 e TLS 1.3
  13. Correção 3: ofereça conjuntos de cifras modernos
  14. Correção 4: correções específicas para Cloudflare
  15. Correção 5: verifique outras CDNs e balanceadores de carga
  16. Como testar sua configuração SSL
  17. Erros SSL/TLS relacionados
  18. Perguntas Frequentes

O que é ERR_SSL_VERSION_OR_CIPHER_MISMATCH?

ERR_SSL_VERSION_OR_CIPHER_MISMATCH significa que seu navegador e o site não conseguiram combinar como criptografar a conexão. O Chrome mostra “Não foi possível estabelecer uma conexão segura com este site” e “example.com usa um protocolo incompatível.”; nos detalhes: “O cliente e o servidor não são compatíveis com uma versão do protocolo SSL comum ou com o pacote de criptografia.” O Chromium o lista como erro -113 (net_error_list.h).

Isso acontece na primeira etapa do handshake TLS. O navegador envia as versões de TLS e os conjuntos de cifras que suporta; o servidor precisa escolher uma versão e um conjunto. Se o servidor não tem nada em comum com essa lista, responde com uma versão que o navegador não aceita mais ou se recusa a continuar por não ter certificado para o nome pedido, o handshake para ali.

Como a falha ocorre antes de qualquer certificado ser verificado, um certificado expirado, com nome errado ou com cadeia incorreta mostra outro erro (veja a tabela no fim). O Firefox mostra SSL_ERROR_NO_CYPHER_OVERLAP quando há recusa por cifra ou certificado e SSL_ERROR_UNSUPPORTED_VERSION para um servidor que só fala TLS 1.0/1.1.

Verifique as versões de TLS e o certificado de um site

Como o erro aparece em cada navegador

Todos os navegadores baseados em Chromium (Chrome, Edge, Brave, Opera) mostram o mesmo código. Procure por estas mensagens:

NavegadorMensagem de erroCódigo do erro
Chrome, Edge, Brave, OperaNão foi possível estabelecer uma conexão segura com este site · example.com usa um protocolo incompatível.ERR_SSL_VERSION_OR_CIPHER_MISMATCH
Firefox (sem cifra em comum, ou sem certificado)Falha na conexão segura · Não foi possível comunicar com segurança com o sistema remoto: nenhum algoritmo de criptografia comum.SSL_ERROR_NO_CYPHER_OVERLAP
Firefox (servidor só com TLS 1.0/1.1)Falha na conexão segura · O sistema remoto usa uma versão não suportada do protocolo de segurança.SSL_ERROR_UNSUPPORTED_VERSION
SafariO Safari não consegue estabelecer uma conexão segura com o servidor (texto não verificado)Nenhum exibido
curl, Python, outros clientes OpenSSLssl/tls alert handshake failure (OpenSSL mais antigo: sslv3 alert handshake failure) ou unsupported protocol(erro do OpenSSL)

O que causa o ERR_SSL_VERSION_OR_CIPHER_MISMATCH?

Se o erro aparece em um único site, a causa é o servidor ou a CDN desse site. Se aparece em muitos sites, algo no seu dispositivo ou na sua rede está no caminho. As causas:

  • O servidor só fala TLS 1.0 ou 1.1. Chrome, Edge e Firefox começaram a bloquear as duas versões em 2020 (Firefox 78, Chrome e Edge 84); desde o Chrome 98 (2022) não há como contornar, e o Chromium informa esse servidor como este erro (net_error_list.h).
  • O servidor oferece só cifras antigas, como RC4, 3DES ou conjuntos de exportação. O código TLS do Chrome desativa o 3DES por completo, então um servidor que não oferece mais nada não pode ser acessado.
  • Nenhum certificado para o nome digitado (em algumas CDNs). No Cloudflare e no CloudFront, um hostname sem certificado tem o handshake recusado logo na primeira etapa. No Cloudflare essa é a causa mais comum: o certificado ainda está sendo ativado, o registro não está com proxy, um certificado personalizado expirou sem nenhum outro de reserva ou o nome é um subdomínio de vários níveis (Cloudflare). Um servidor nginx ou Apache comum envia o certificado padrão dele, o que mostra um aviso de nome incompatível.
  • Algo no meio do caminho: verificação HTTPS do antivírus, proxy da empresa ou uma VPN que criptografa seu tráfego de novo com configurações antigas de TLS.
  • Um dispositivo ou navegador muito antigo: Windows XP, Android 4.x e navegadores sem atualização há anos não têm o TLS 1.2 nem as cifras que os servidores exigem hoje.

Testamos: servidores TLS antigos vs. cliente moderno

Para mostrar o que causa este erro, conectamos um cliente TLS moderno (OpenSSL 3.6) aos servidores de teste públicos do badssl.com em 27 de outubro de 2026. Os servidores TLS 1.0 e 1.1 responderam com uma versão que o cliente não aceita mais; os servidores RC4 e 3DES recusaram com um alerta handshake_failure. O Chrome informa os quatro como ERR_SSL_VERSION_OR_CIPHER_MISMATCH:

Servidor de testeO que ofereceResultado
tls-v1-0.badssl.com:1010Somente TLS 1.0Respondeu com TLS 1.0; o cliente recusou (protocol_version)
tls-v1-1.badssl.com:1011Somente TLS 1.1Respondeu com TLS 1.1; o cliente recusou (protocol_version)
rc4.badssl.comSomente cifras RC4alerta handshake_failure
3des.badssl.comSomente cifras 3DESalerta handshake_failure
tls-v1-2.badssl.com:1012TLS 1.2Conectou (ECDHE-RSA-AES256-GCM-SHA384)

Abra https://tls-v1-0.badssl.com:1010/ no Chrome e você verá exatamente esta página de erro. Se o seu site se comporta como as quatro primeiras linhas, valem as correções para donos de sites abaixo.

Como corrigir ERR_SSL_VERSION_OR_CIPHER_MISMATCH (para usuários)

Você não pode mudar o servidor de um site, então primeiro veja de quem é o problema. Se só um site falha, vá para as correções para donos de sites: só o dono pode resolver. Se muitos sites falham, tente estas. (Desativar o QUIC, uma dica antiga, não ajuda aqui: falhas de QUIC mostram ERR_QUIC_PROTOCOL_ERROR.)

Correção 1: verifique se o problema é do site

Abra o mesmo site em outro dispositivo ou com dados móveis. Se falhar lá também, o problema é o servidor.

Para ter certeza, passe o site pelo SSL Checker do DNS Robot: para a maioria dos servidores ele lista as versões de TLS aceitas e, para um site no Cloudflare, mostra se algum certificado foi emitido para esse nome. Um site que aceita só TLS 1.0 ou 1.1 não abre no Chrome, no Edge nem no Firefox, e não há o que clicar para passar: o Chrome não oferece “continuar mesmo assim” para este erro.

Correção 2: atualize seu navegador e sistema operacional

Navegadores e sistemas muito antigos não têm TLS 1.2, TLS 1.3 nem as cifras que os servidores usam hoje. Atualize o Chrome em chrome://settings/help e o Edge em edge://settings/help e depois atualize o sistema operacional.

O Internet Explorer no Windows XP e no Vista e o navegador padrão do Android 4.0-4.3 não têm TLS 1.2 com as cifras atuais e falham na maioria dos sites HTTPS.

Correção 3: verifique a verificação HTTPS do antivírus

Antivírus que verificam HTTPS (Avast, Kaspersky, Bitdefender, ESET, Norton) ficam no meio de cada conexão e fazem a própria conexão TLS com o site. Se as configurações de TLS deles estão desatualizadas, os sites que exigem TLS moderno falham.

Desative somente a parte de verificação HTTPS, que cada programa chama de um jeito (verificação HTTPS do Web Shield no Avast, filtragem de protocolos SSL/TLS no ESET, verificação de web criptografada no Bitdefender, verificação de conexões criptografadas no Kaspersky), e recarregue a página. Se o erro sumir, atualize o antivírus ou adicione o site como exceção em vez de deixar a verificação desligada.

Correção 4: desconecte uma VPN ou proxy

Proxies de empresas e VPNs com recurso de proteção da web ou inspeção HTTPS fazem a própria conexão TLS com o site (um túnel VPN comum não faz). Desconecte e recarregue. Se o site abrir, desative esse recurso ou peça ao provedor (ou à sua equipe de TI) para atualizar as configurações de TLS.

Como corrigir ERR_SSL_VERSION_OR_CIPHER_MISMATCH (para donos de sites)

Se visitantes relatam este erro no seu site, o servidor ou a CDN que responde na porta 443 não consegue combinar o TLS com navegadores modernos. Verifique com o SSL Checker e depois:

Correção 1: garanta que todo nome tenha um certificado

No Cloudflare, no CloudFront e em outras CDNs, um hostname sem certificado tem o handshake recusado, e os navegadores mostram este erro em vez de um aviso de certificado. Um servidor nginx ou Apache comum geralmente envia o certificado padrão (ERR_CERT_COMMON_NAME_INVALID) ou, com o ssl_reject_handshake do nginx, um alerta unrecognized_name (ERR_SSL_UNRECOGNIZED_NAME_ALERT). Verifique todos os nomes que os visitantes usam: example.com, www.example.com e cada subdomínio.

Passe cada nome pelo SSL Checker ou teste pelo terminal (OpenSSL 1.1.1 ou posterior; se aparecer “Could not find certificate”, o servidor recusou o handshake para esse nome):

bash
# Does the server present a certificate for this exact name?
openssl s_client -connect example.com:443 -servername www.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -ext subjectAltName

# Which TLS versions and ciphers does it accept?
nmap --script ssl-enum-ciphers -p 443 example.com

Correção 2: ative TLS 1.2 e TLS 1.3

Todo navegador atual exige pelo menos TLS 1.2. Ative o TLS 1.2 e o TLS 1.3 e nada mais antigo:

bash
# nginx (site config or nginx.conf)
ssl_protocols TLSv1.2 TLSv1.3;

# Apache (ssl.conf)
SSLProtocol -all +TLSv1.2 +TLSv1.3

# Then check the config and reload
sudo nginx -t && sudo systemctl reload nginx
sudo apachectl configtest && sudo systemctl reload apache2

Depois de recarregar, teste de novo com o SSL Checker ou o Qualys SSL Labs para confirmar que só TLS 1.2 e 1.3 são oferecidos.

Correção 3: ofereça conjuntos de cifras modernos

Com o TLS 1.2 ativo, o servidor precisa de uma cifra que os navegadores ainda aceitem. Ofereça ECDHE com AES-GCM ou ChaCha20-Poly1305 (o conjunto da Mozilla); cifras RC4, 3DES, de exportação e NULL são recusadas.

bash
# nginx (TLS 1.2 ciphers; TLS 1.3 ciphers are always on)
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;

# Apache
SSLCipherSuite 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
SSLHonorCipherOrder off

Correção 4: correções específicas para Cloudflare

O guia do próprio Cloudflare para este erro diz que ele ocorre quando o hostname não é coberto por um certificado (Cloudflare). Verifique, em ordem:

  • O certificado está ativo? Um domínio novo recebe o certificado Universal SSL em 15 minutos a 24 horas. Veja SSL/TLS → Edge Certificates: o status deve ser Active.
  • O registro DNS está com proxy? O certificado só é apresentado para registros com proxy (nuvem laranja). Um DNS Lookup de um nome com proxy retorna os endereços do Cloudflare, não os do seu servidor.
  • Um certificado personalizado expirou? O Cloudflare o remove após a expiração; se nenhum outro certificado ativo (como o Universal SSL) cobre o nome, os visitantes recebem este erro em vez de um aviso de certificado.
  • É um subdomínio de vários níveis? Na configuração completa, o Universal SSL cobre só example.com e *.example.com, não test.dev.example.com. Use um certificado Advanced ou personalizado, ou o Total TLS (que exige o Advanced Certificate Manager).

Correção 5: verifique outras CDNs e balanceadores de carga

Se uma CDN ou balanceador de carga (CloudFront, Fastly, Akamai, um balanceador de carga em nuvem) encerra a conexão TLS, as configurações dele decidem, não as do seu servidor:

  • Um certificado para cada hostname, associado à distribuição ou ao listener certo
  • TLS 1.2 no mínimo na política de segurança, com cifras modernas
  • Suporte a SNI se vários domínios compartilham o mesmo endereço IP

Como testar sua configuração SSL

Depois de fazer as mudanças, confirme que a configuração SSL está correta. Estas ferramentas ajudam a achar problemas antes dos seus visitantes.

  • DNS Robot SSL Checker: verificação rápida do status do certificado, validade, cadeia completa e emissor. Resultados em segundos.
  • Qualys SSL Labs: varredura profunda de versões de TLS, conjuntos de cifras, suporte a protocolos e vulnerabilidades conhecidas. Dá uma nota em letra (busque A ou A+).
  • OpenSSL CLI: teste pela linha de comando com openssl s_client -connect domain.com:443 para ver o handshake bruto, a cadeia de certificados e a cifra negociada.
  • Chrome DevTools: em uma página que carrega, o painel Security (ou Privacy and security) mostra a versão do TLS e a cifra usadas.
bash
# Quick check: protocol, cipher and certificate in a few lines
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -brief </dev/null

# Does it accept TLS 1.2? TLS 1.3?
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -tls1_2 -brief </dev/null
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -tls1_3 -brief </dev/null

O Chrome tem vários erros de TLS e de certificado, cada um de uma etapa diferente:

Código do erroO que significaCausa comum
ERR_SSL_VERSION_OR_CIPHER_MISMATCHSem versão de TLS ou cifra em comum, ou sem certificado para o nomeSomente TLS 1.0/1.1, somente RC4/3DES, certificado ausente (Cloudflare)
ERR_SSL_PROTOCOL_ERRORO handshake falhou de outra formaHTTP simples na porta 443, um intermediário quebrando o TLS
ERR_CERT_AUTHORITY_INVALIDCertificado não confiávelAutoassinado, CA privada, intermediário ausente
ERR_CERT_DATE_INVALIDCertificado expirado ou ainda não válidoCertificado expirado, relógio do dispositivo errado
ERR_CERT_COMMON_NAME_INVALIDO certificado não cobre este nomeCertificado para example.com, acessado em www.example.com
ERR_SSL_UNRECOGNIZED_NAME_ALERTO servidor disse que não atende este nomessl_reject_handshake do nginx ou nenhum bloco server correspondente
ERR_SSL_VERSION_INTERFERENCENão é mais usado: o Chromium o removeu (erro -175)Você verá um dos códigos acima

Guias para os erros vizinhos: ERR_SSL_PROTOCOL_ERROR, ERR_CERT_AUTHORITY_INVALID e Sua conexão não é particular.

Verifique Seu Certificado SSL Agora

O SSL Checker gratuito do DNS Robot lista as versões de TLS que a maioria dos servidores aceita, o certificado e os nomes que ele cobre; para um site no Cloudflare, mostra se algum certificado foi emitido para o nome.

Fontes

  1. net_error_list.h (SSL_VERSION_OR_CIPHER_MISMATCH -113), Chromium
  2. openssl_ssl_util.cc (which TLS failures map to -113), Chromium
  3. ERR_SSL_VERSION_OR_CIPHER_MISMATCH, Cloudflare
  4. SSL Configuration Generator, Mozilla

Perguntas Frequentes

O que significa ERR_SSL_VERSION_OR_CIPHER_MISMATCH?

O navegador e o site não chegaram a um acordo sobre a versão do TLS ou a cifra no início da conexão segura, então o Chrome parou. O Chrome o chama de erro -113 e diz que o site “usa um protocolo incompatível”. A causa costuma estar no servidor: TLS antigo, cifras antigas ou, no Cloudflare, nenhum certificado para esse nome.

Como corrigir ERR_SSL_VERSION_OR_CIPHER_MISMATCH no Chrome?

Se só um site mostra o erro, o dono dele precisa corrigir o servidor; você não pode. Se muitos sites mostram, atualize o Chrome e o sistema operacional, pause a verificação HTTPS do antivírus e desconecte qualquer VPN ou proxy, recarregando a página após cada etapa.

É um problema do servidor ou do navegador?

Em geral é do servidor. Ele oferece só TLS 1.0 ou 1.1, só cifras antigas como RC4 ou 3DES ou, no Cloudflare e no CloudFront, não tem certificado para o nome digitado. Quando todos os sites falham, olhe para o seu antivírus, uma VPN ou proxy que inspeciona HTTPS ou um dispositivo muito antigo.

Dá para contornar o ERR_SSL_VERSION_OR_CIPHER_MISMATCH?

Não. O Chrome não oferece o link “continuar mesmo assim” para este erro, porque nenhuma conexão segura chegou a ser estabelecida. As únicas correções estão no servidor ou, se a causa for o antivírus, uma VPN ou um navegador desatualizado, no seu dispositivo.

Por que vejo este erro no Edge?

O Edge usa o mesmo código de rede do Chromium, então mostra o mesmo erro pelos mesmos motivos. Opera e Brave também. Se Edge e Chrome falham em um site, o servidor do site é o culpado.

Qual é o equivalente desse erro no Firefox?

O Firefox mostra SSL_ERROR_NO_CYPHER_OVERLAP (“Não foi possível comunicar com segurança com o sistema remoto: nenhum algoritmo de criptografia comum.”) quando o servidor recusa por falta de cifra ou certificado em comum, e SSL_ERROR_UNSUPPORTED_VERSION (“O sistema remoto usa uma versão não suportada do protocolo de segurança.”) quando o servidor só fala TLS 1.0 ou 1.1.

Como donos de sites corrigem ERR_SSL_VERSION_OR_CIPHER_MISMATCH?

Garanta que todo hostname usado pelos visitantes tenha certificado, ative somente TLS 1.2 e 1.3 e ofereça cifras ECDHE modernas com AES-GCM ou ChaCha20. No Cloudflare, confira se o certificado está ativo, se o registro tem proxy, se o certificado personalizado está válido e se o nome não é um subdomínio de vários níveis.

O Cloudflare pode causar ERR_SSL_VERSION_OR_CIPHER_MISMATCH?

Sim, e o Cloudflare documenta isso: o erro aparece quando um hostname não é coberto por um certificado. As causas são um certificado Universal SSL ainda sendo ativado (15 minutos a 24 horas), um registro sem proxy, um certificado personalizado expirado ou um subdomínio de vários níveis, como test.dev.example.com.

Quais versões de TLS os navegadores atuais suportam?

Chrome, Edge, Firefox e Safari suportam TLS 1.2 e TLS 1.3. Chrome, Edge e Firefox começaram a bloquear o TLS 1.0 e 1.1 em 2020, e desde o Chrome 98 não há como contornar o bloqueio; o Chromium informa um servidor com TLS 1.0 ou 1.1 como ERR_SSL_VERSION_OR_CIPHER_MISMATCH.

Qual é a diferença para o ERR_SSL_PROTOCOL_ERROR?

ERR_SSL_VERSION_OR_CIPHER_MISMATCH significa que o Chrome sabe por que o handshake falhou: nenhuma versão ou cifra em comum, ou uma recusa logo após a primeira mensagem. ERR_SSL_PROTOCOL_ERROR é o erro genérico para outros handshakes quebrados, como um servidor que responde na porta 443 com HTTP simples.

Sobre o autor

Shaik Vahid

Fundador da DNS Robot. Vahid passou anos no suporte de hospedagem de sites resolvendo domínios, registros DNS, certificados SSL e entrega de e-mails para clientes. Ele cria as ferramentas da DNS Robot e escreve estes guias a partir dos erros que as pessoas realmente encontram.

Verificador de Certificado SSL

Verifique a validade e detalhes de segurança do certificado SSL