Skip to content

Código de status HTTP · Não oficial, usado por Cloudflare

Erro 525 SSL Handshake Failed

O erro 525 significa que o handshake SSL/TLS entre a Cloudflare e o seu servidor de origem falhou com a zona em modo Full ou Full (strict). A causa mais comum é a origem sem certificado válido instalado, ou sem nada servindo TLS na porta 443.

Dados sobre este código de status
Classe4xx/5xx, Códigos não oficiais (nginx, Cloudflare)
Definido emCloudflare docs: Error 525
Pode ir para o cache por padrãoSó com Cache-Control ou Expires explícitos; os TTLs padrão da borda da Cloudflare só cobrem 200, 206, 301, 302, 303, 404 e 410, então um 52x não fica em cache por padrão
Pode repetir o pedidoNão; o handshake falha do mesmo jeito até a configuração TLS da origem mudar
Cabeçalhos relevantes
  • CF-RAY: use para cruzar a falha com o log de erro TLS da origem

O que significa o 525

A Cloudflare só mostra 525 quando duas coisas são verdade: o modo SSL/TLS é Full ou Full (strict), e o handshake com a origem não terminou. O handshake nem chegou a entregar um certificado para a Cloudflare avaliar, e é isso que o separa do 526, em que o handshake acontece e o certificado reprova na validação.

A lista de causas da Cloudflare: nenhum certificado instalado, porta 443 (ou a porta segura customizada) fechada, falta de suporte a SNI e nenhuma cifra em comum entre a Cloudflare e a origem. Um 525 intermitente costuma vir da origem resetando conexões sob carga; o nginx registra esses erros de TLS no log de erro, às vezes só com um nível de log mais alto.

Causas comuns

Se você está visitando o site

  • O link criptografado entre a Cloudflare e o servidor do site está quebrado. A sua conexão HTTPS com a Cloudflare está normal.

Se você administra o servidor

  • A zona mudou para Full ou Full (strict) mas a origem não tem certificado, ou falta o server block com TLS.
  • A origem só serve TLS em outra porta, ou um firewall bloqueia a 443.
  • A origem exige um nome de servidor que não recebe, ou não consegue escolher certificado via SNI para aquele hostname.
  • Uma pilha TLS antiga que só oferece protocolos ou cifras que a Cloudflare não aceita.

Como resolver

Se você está visitando o site

  • Nada no seu aparelho resolve isso. Avise o dono do site ou tente mais tarde.

Se você administra o servidor

  • Instale um certificado na origem; o Origin CA gratuito e de longa validade da Cloudflare é o caminho mais simples quando o tráfego só chega pela Cloudflare.
  • Rode openssl s_client contra o IP da origem com -servername apontando para o seu hostname e veja onde o handshake para.
  • Garanta que o servidor ouve TLS na 443 e que o firewall libera essa porta para as faixas da Cloudflare.
  • Ative TLS 1.2 ou 1.3 com cifras modernas; compare com a lista que a Cloudflare publica para conexões com a origem.
  • Só como paliativo, o modo Flexible conecta na origem por HTTP puro na porta 80, o que elimina o handshake mas também a criptografia até o seu servidor.

Como diagnosticar o 525

Quem gera este código é a Cloudflare, na borda, quando não consegue uma resposta utilizável da sua origem; o seu servidor nunca o envia. Os comandos abaixo falam direto com a origem, sem passar pela Cloudflare, para você ver o que ela vê.

Terminal
# Handshake with the origin exactly as Cloudflare does (SNI included)
openssl s_client -connect ORIGIN_IP:443 -servername example.com </dev/null

# Which protocol and cipher were agreed, if any
openssl s_client -connect ORIGIN_IP:443 -servername example.com -brief </dev/null

# Is 443 open at all?
nc -vz ORIGIN_IP 443

Costuma ser confundido com

525 vs 526
O 525 significa que nenhuma sessão TLS foi estabelecida; o 526 significa que a sessão foi estabelecida, mas o Full (strict) rejeitou o certificado da origem como inválido.
525 vs 521
O 521 é uma conexão TCP recusada; o 525 passa do TCP e falha na negociação TLS.

Perguntas frequentes

Por que o 525 começou logo depois que mudei o modo SSL/TLS?
Trocar de Flexible para Full ou Full (strict) faz a Cloudflare conectar na origem por HTTPS na porta 443. Se a origem não tem certificado ou não ouve TLS, todo pedido passa a falhar com 525.
O erro 525 quer dizer que a conexão do visitante é insegura?
Não. A conexão do visitante com a Cloudflare não é afetada; a falha é no segundo trecho, entre a Cloudflare e o seu servidor.
Um certificado autoassinado resolve o 525?
No modo Full, sim: a Cloudflare não valida o certificado, só precisa de um handshake que funcione. No Full (strict) ele falharia com 526, a menos que você use um certificado Origin CA ou o Custom Origin Trust Store.
Por que o erro 525 aparece só às vezes?
Geralmente a origem reseta parte das conexões TLS sob carga, ou um servidor do pool está sem o certificado. Olhe os logs de erro da origem nos horários exatos dos 525.

Revisado em por Arielton Oberek.