Código de status HTTP · Não oficial, usado por Cloudflare
Erro 526 Invalid SSL Certificate
O erro 526 significa que a Cloudflare, no modo Full (strict), não conseguiu validar o certificado SSL do seu servidor de origem. A causa mais comum é um certificado vencido na origem, muitas vezes um Let’s Encrypt cuja renovação parou sem ninguém perceber.
| Classe | 4xx/5xx, Códigos não oficiais (nginx, Cloudflare) |
|---|---|
| Definido em | Cloudflare docs: Error 526 |
| 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; primeiro é preciso corrigir o certificado da origem ou mudar o modo SSL |
| Cabeçalhos relevantes |
|
O que significa o 526
O Full (strict) faz a Cloudflare conferir o certificado da origem como um navegador faria. A lista da Cloudflare: não vencido, não revogado, assinado por uma autoridade certificadora (ou um certificado Origin CA da Cloudflare), o hostname pedido no Common Name ou no Subject Alternative Name, e cadeia completa, com os intermediários que a origem precisa enviar junto com o certificado final.
O visitante nunca vê o certificado da origem, então um certificado vencido pode passar despercebido até o dia em que a Cloudflare começa a recusá-lo. Monitorar o vencimento na origem, e não só o certificado público da borda, evita a maioria dos 526.
Causas comuns
Se você está visitando o site
- O servidor do site tem um problema de certificado que a Cloudflare se recusa a aceitar. O cadeado do seu navegador se refere ao certificado da Cloudflare, que está em ordem.
Se você administra o servidor
- O certificado da origem venceu porque o certbot ou outro job de renovação falhou, muitas vezes depois que o site passou para trás da Cloudflare e a validação HTTP deixou de chegar ao servidor.
- Um certificado autoassinado, que o Full (strict) rejeita a menos que esteja no Custom Origin Trust Store.
- O certificado cobre example.com mas não www.example.com, ou cobre um hostname antigo.
- O servidor envia só o certificado final, sem a cadeia intermediária.
Como resolver
Se você está visitando o site
- Avise o dono do site; não há nada no seu navegador que contorne o erro.
Se você administra o servidor
- Inspecione datas, nomes e cadeia do certificado da origem com openssl (abaixo) contra o IP da origem, sem passar pela Cloudflare.
- Renove ou troque o certificado. Um Origin CA da Cloudflare evita problemas de renovação em origens que só recebem tráfego da Cloudflare.
- Envie a cadeia completa: no nginx, o ssl_certificate deve apontar para fullchain.pem, não cert.pem.
- Só como medida temporária, mude a zona de Full (strict) para Full, que não valida o certificado, e volte depois de corrigir.
Como diagnosticar o 526
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ê.
# Dates, names and issuer of the certificate the origin serves
openssl s_client -connect ORIGIN_IP:443 -servername example.com </dev/null 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates -ext subjectAltName
# Does the origin send the intermediate chain? Count the certificates
openssl s_client -connect ORIGIN_IP:443 -servername example.com -showcerts </dev/null 2>/dev/null \
| grep -c 'BEGIN CERTIFICATE'Costuma ser confundido com
- 526 vs 525
- No 525 o próprio handshake TLS falhou; no 526 ele terminou e o certificado apresentado pela origem não passou na validação.
Perguntas frequentes
- Qual a forma mais rápida de resolver o erro 526?
- Mudar o modo SSL/TLS de Full (strict) para Full tira o erro na hora, porque o Full não valida o certificado da origem. Use isso só temporariamente e corrija o certificado.
- Posso usar certificado autoassinado com Full (strict)?
- Só se você enviar o certificado para o Custom Origin Trust Store da Cloudflare. Fora isso, use um certificado Origin CA da Cloudflare ou de uma autoridade certificadora pública.
- Por que recebo 526 num Worker da Cloudflare?
- Subrequests de Workers para hostnames fora da sua zona e sem proxy da Cloudflare sempre usam Full (strict), independente da configuração da zona, então esse host externo precisa de um certificado válido.
- Meu certificado está válido no navegador. Por que a Cloudflare dá 526?
- O navegador confere o certificado da borda da Cloudflare, não o da sua origem. Teste a origem direto com openssl s_client no IP dela para ver o certificado que a Cloudflare realmente recebe.
Revisado em por Arielton Oberek.