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.
| Classe | 4xx/5xx, Códigos não oficiais (nginx, Cloudflare) |
|---|---|
| Definido em | Cloudflare docs: Error 525 |
| Pode ir para o cache por padrão | Só 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 pedido | Não; o handshake falha do mesmo jeito até a configuração TLS da origem mudar |
| Cabeçalhos relevantes |
|
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ê.
# 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 443Costuma 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.