Um erro 500 num site que usa Cloudflare quase sempre vem do seu servidor de origem, não do Cloudflare. E há uma forma de confirmar isso em um segundo: olhe o código-fonte da página de erro. Se o HTML contiver a palavra cloudflare ou cloudflare-nginx, o erro foi gerado pelo Cloudflare, e é com o suporte deles que você precisa falar. Se não contiver, o erro veio do seu servidor, passou pelo Cloudflare sem alteração, e quem resolve é a sua hospedagem.
Essa única verificação evita o desperdício mais comum nessa situação: passar a tarde mexendo em configurações do Cloudflare quando o problema é um erro de PHP no servidor — ou o contrário.
Abra o código-fonte da página de erro (Ctrl+U) e procure pela palavra cloudflare.
| Encontrou | O Cloudflare gerou o erro. Fale com o suporte deles, com o valor do cf-ray em mãos |
| Não encontrou | Foi o seu servidor de origem. O Cloudflare apenas repassou — verifique os logs de erro ou fale com a sua hospedagem |
Na prática, o segundo caso é bem mais frequente. E vale saber: o 500 é um código HTTP real, diferente da faixa 520-527, que é criação do próprio Cloudflare.
Conteúdo
Por que o 500 é diferente dos outros erros 5xx do Cloudflare
É aqui que mora a maior parte da confusão, e vale ser preciso.
O Cloudflare tem uma faixa própria de erros — 520 a 527 — para problemas que ele encontra ao tentar alcançar o seu servidor. Esses códigos foram inventados por eles e só aparecem em sites que passam pelo proxy. Um 521 significa que a conexão foi recusada; um 520, que a resposta não pôde ser interpretada.
O 500 não é um desses. Ele é um código de status HTTP padrão, que qualquer servidor web pode retornar, definido na especificação do protocolo muito antes de o Cloudflare existir. Quando o seu servidor devolve um 500, o trabalho do Cloudflare é simplesmente repassá-lo ao visitante — sem alteração.
O modelo mental fica assim:
| O que você vê | Quem gerou | Com quem falar |
|---|---|---|
| 500 sem “cloudflare” no HTML | Seu servidor de origem | Sua hospedagem |
| 500 com “cloudflare” ou “cloudflare-nginx” no HTML | A borda do Cloudflare | Suporte do Cloudflare |
| 520–527 | Cloudflare, relatando um problema ao alcançar a origem | Sua hospedagem — o problema é da origem |
| 502 / 504 com marca do Cloudflare | Pode ser dos dois — faça a mesma verificação | Depende do teste acima |
Vale notar que o cloudflare-nginx que aparece nessas mensagens é uma referência ao Nginx usado como proxy reverso pelo Cloudflare — o mesmo detalhe que explicamos no guia do erro 502 Bad Gateway.
O diagnóstico mais rápido: pausar o Cloudflare
Se a verificação no código-fonte não for conclusiva, tire o Cloudflare do caminho e veja o que o seu servidor faz sozinho.
Opção 1 — pausar o Cloudflare. No painel do Cloudflare, na página Overview do seu domínio, use Pause Cloudflare on Site. Isso interrompe o proxy sem mexer nos seus registros de DNS.
Opção 2 — nuvem cinza. Em DNS → Records, clique na nuvem laranja ao lado do registro A para deixá-la cinza. O tráfego passa a ir direto para a origem.
De qualquer forma, espere um minuto e recarregue:
- Continua com erro 500? O problema é inteiramente do seu servidor. O Cloudflare nunca esteve envolvido.
- O site voltou? Então o Cloudflare faz parte do problema — provavelmente um Worker, uma Page Rule ou uma regra de transformação interferindo. Veja a seção abaixo.
Reative o proxy quando terminar. Deixá-lo desligado expõe o IP da sua origem e desativa a proteção do Cloudflare.
Causa 1: a origem está gerando o erro 500
É a maioria esmagadora dos casos, e o Cloudflare é apenas o mensageiro.
O caso mais comum, nomeado pela própria documentação do Cloudflare, é o “Error establishing a database connection” — um site WordPress cujas credenciais de banco estão erradas ou cujo MySQL não responde. Ele chega ao visitante como um 500 genérico.
Além dele, as causas habituais do lado da origem:
- Erro fatal de PHP — falha em plugin, tema ou script
.htaccesscorrompido — uma diretiva inválida basta- Limite de memória ou tempo de execução do PHP esgotado
- Permissões de arquivo incorretas
- Backend falhando atrás do servidor web
O diagnóstico de todas elas é o mesmo, e não está no painel do Cloudflare: leia os logs de erro da sua origem. Nosso guia sobre o HTTP erro 500 percorre todas as soluções em ordem.
Causa 2: um Worker do Cloudflare está gerando o erro
Se pausar o Cloudflare resolveu, é aqui que se olha primeiro.
Um Worker é código JavaScript rodando na borda do Cloudflare. Quando ele lança uma exceção não tratada ou ultrapassa o limite de CPU, o visitante recebe um 500 — mesmo com o seu servidor perfeitamente saudável. Esse é um 500 genuinamente do lado do Cloudflare, e é invisível a partir da sua origem.
Onde olhar: a seção Workers do painel tem logs em tempo real. Procure por exceções de JavaScript e erros de limite de CPU. Se um Worker for a causa, desativar a rota dele temporariamente confirma na hora.
Dois suspeitos relacionados, se você não usa Workers:
- Page Rules e regras de transformação que reescrevem requisições de um jeito que a sua origem não entende
- Cloudflare Access ou regras de WAF bloqueando legitimamente, mas de forma confusa
Causa 3: uma indisponibilidade do Cloudflare
Raro, mas real — e vale descartar antes de qualquer outra coisa, porque não há nada a corrigir do seu lado.
Durante um incidente grande do Cloudflare, sites retornam erro 500 em massa, e o painel e a API deles também costumam falhar. O sinal é a escala: se o seu site está fora e outros sites sem relação também estão e você não consegue entrar no painel do Cloudflare, não é a sua configuração.
Consulte a página de status do Cloudflare antes de tudo, se o erro apareceu de repente sem você mexer em nada. Se houver incidente listado, a única ação é aguardar a correção deles.
Reúna isto antes de abrir chamado
Seja com o Cloudflare ou com a sua hospedagem, três informações fazem a diferença entre uma resposta útil e uma rodada de sugestões genéricas:
O valor do cf-ray. Toda requisição que passa pelo Cloudflare recebe um identificador único, visível nos cabeçalhos de resposta e, muitas vezes, na própria página de erro. É com ele que o Cloudflare localiza a transação exata nos logs.
A saída de /cdn-cgi/trace. Acrescente ao seu domínio — seusite.com.br/cdn-cgi/trace — e você recebe o data center que atendeu, o seu IP e detalhes da conexão. É um endpoint público, não há nada sensível ali.
A URL completa onde o erro acontece, e se ele é constante ou intermitente.
Se o erro for da origem, a sua hospedagem vai querer o horário exato no lugar, para cruzar com o log do servidor.
Constante ou intermitente?
O padrão reduz as possibilidades antes de qualquer verificação:
| Padrão | Causa mais provável |
|---|---|
| Toda requisição, todo visitante | Erro fatal na origem, ou falha de conexão com o banco de dados |
| Uma URL ou endpoint específico | Falha naquele trecho de código, ou um Worker roteado para ele |
| Intermitente, pior sob carga | Origem esgotando memória ou atingindo limite de processos |
| Começou logo após uma alteração | O que mudou — um plugin, um deploy, um Worker, uma Page Rule |
| Muitos sites sem relação também fora | Incidente do Cloudflare — consulte a página de status |
A maioria dos erros 500 atrás do Cloudflare vem do seu servidor — e é ali que a resposta está. Na Homehost você tem acesso completo aos logs de erro, servidor no Brasil, CloudLinux isolando cada conta, backup automático e suporte técnico em português que lê o log com você. A partir de R$ 7,90/mês.
Ver planos de hospedagemPerguntas frequentes
O erro 500 no Cloudflare é culpa do meu servidor ou do Cloudflare?
Quase sempre do seu servidor. Diferente dos códigos 520 a 527, que são criação do Cloudflare, o 500 é um status HTTP padrão que a sua origem pode retornar e o Cloudflare apenas repassa. Para confirmar, veja o código-fonte da página: se o HTML contiver a palavra cloudflare ou cloudflare-nginx, foi o Cloudflare que gerou. Se não, foi a sua origem.
Como saber se o erro 500 veio do Cloudflare ou da minha hospedagem?
Duas verificações. Primeiro, procure pela palavra cloudflare no código-fonte da página de erro. Segundo, pause o Cloudflare ou deixe o registro de DNS com a nuvem cinza e recarregue: se o erro continuar com o Cloudflare fora do caminho, é inteiramente do seu servidor.
Qual a diferença entre o erro 500 e o erro 521 do Cloudflare?
O 500 é um código HTTP padrão, normalmente gerado pela sua origem e repassado pelo Cloudflare. O 521 é um código específico do Cloudflare e significa que ele não conseguiu se conectar à sua origem, porque a conexão foi recusada. O 500 quer dizer que o servidor respondeu com erro; o 521, que ele não respondeu.
Um Worker do Cloudflare pode causar erro 500?
Pode. Um Worker que lança uma exceção JavaScript não tratada ou ultrapassa o limite de CPU retorna 500 ao visitante mesmo com a origem funcionando normalmente. Verifique os logs de Workers no painel do Cloudflare e desative a rota temporariamente para confirmar.
Pausar o Cloudflare resolve o erro 500?
Só se o Cloudflare for a causa, o que é a minoria dos casos. Pausar é um diagnóstico, não uma solução: se o site funciona com o Cloudflare pausado, olhe Workers, Page Rules e regras de WAF. Se continuar com erro 500, o problema é inteiramente da origem.
O que o suporte do Cloudflare precisa saber?
O valor do cf-ray da resposta com erro, a saída de seusite.com.br/cdn-cgi/trace e a URL completa onde o erro acontece. Vale saber que eles só investigam se o erro tiver sido gerado pelo Cloudflare — se veio da origem, vão encaminhar você para a sua hospedagem.
Uma queda do Cloudflare pode causar erros 500 no meu site?
Pode, embora seja incomum. Durante incidentes grandes, muitos sites sem relação retornam 500 e o próprio painel do Cloudflare costuma falhar. Se o seu site parou sem você mexer em nada e outros sites também estão afetados, consulte a página de status do Cloudflare antes de investigar a sua configuração.
Veja também
O erro 500 faz parte da família 5xx dos códigos de status HTTP. Veja também os primos que aparecem atrás de CDN: 502 Bad Gateway, 503 Serviço Indisponível e 504 Gateway Timeout. Se quiser entender melhor o papel de uma CDN, veja o que é CDN e Cloudflare.
Conclusão
Com um erro 500 atrás do Cloudflare, a pergunta útil não é “como resolvo”, e sim “de quem é o erro” — porque as duas respostas levam a lugares completamente diferentes. Procure a palavra cloudflare no código-fonte: se estiver lá, a borda do Cloudflare gerou o erro e o caminho é o suporte deles; se não estiver, a sua origem gerou e o Cloudflare apenas entregou a mensagem. Na prática é o segundo caso na maior parte das vezes, o que significa que a resposta está no seu log de erro — não no painel do Cloudflare. Pause o proxy se precisar confirmar, junte o cf-ray e a saída do /cdn-cgi/trace antes de abrir qualquer chamado, e cheque a página de status deles primeiro se o site caiu sem você ter tocado em nada.