Erro 521: o que significa “Web Server Is Down” e como corrigi-lo

Você abre um site e vê uma página cinza da Cloudflare: “Web server is down. Error code 521.” O navegador mostra “Working”, a Cloudflare mostra “Working” e o host mostra “Error”. Se o site é seu, cada minuto nesse estado custa visitantes, vendas e confiança.
A boa notícia: o erro 521 quase sempre tem uma entre poucas causas, e a maioria leva apenas alguns minutos para ser corrigida quando você sabe qual é. Este guia mostra como descobrir a causa exata rapidamente, corrigi-la com comandos prontos para copiar e colar e evitar que o erro volte, incluindo as duas causas que a maioria dos guias ignora.
Resposta rápida
O código de erro 521 significa que a Cloudflare tentou se conectar ao servidor de origem do site, e o servidor recusou a conexão. As causas mais comuns são um servidor web que parou de funcionar, um firewall bloqueando os endereços IP da Cloudflare ou uma configuração de SSL que envia a Cloudflare para uma porta em que nada está escutando. Se você é visitante, o problema está no lado do site, não no seu. Se o site é seu, comece verificando se o servidor web está em execução e se os intervalos de IP da Cloudflare estão liberados.
Seu site falha só em alguns países? Teste-o como os visitantes reais o veem com os proxies residenciais rotativos da CyberYozh em mais de 195 países, a partir de $2/GB. Mostramos exatamente como fazer isso abaixo.
Você é visitante ou dono do site? Comece aqui
Se você está visitando o site:
O erro 521 não é causado pelo seu dispositivo, navegador ou conexão de internet
Espere alguns minutos e atualize a página. Muitos erros 521 desaparecem quando o servidor reinicia
Se durar mais, o dono do site precisa corrigir. Avise-o, se puder
Uma VPN ou um proxy geralmente não ajuda, porque o servidor está recusando a própria Cloudflare. A exceção é um bloqueio regional, abordado abaixo
Se você é o dono do site:
Seu servidor web está em execução? → Passo 1
O site carrega quando você contorna a Cloudflare? Se sim → Passos 3–5. Se não → Passos 1, 2 e 6
O erro volta a cada poucos dias? → “Por que o erro 521 continua voltando”
Ele acontece só em alguns países? → “Erro 521 só em alguns países?”
O que significa o código de erro 521

O código de erro 521 é a forma de a Cloudflare dizer: “Cheguei ao seu servidor, mas ele se recusou a falar comigo.” Não é um código de status HTTP oficial. É um dos códigos 5xx próprios da Cloudflare, e por isso você também o encontra escrito como erro HTTP 521 ou status code 521.
Na página de erro da Cloudflare, o diagrama mostra exatamente onde algo quebrou: o navegador e a Cloudflare estão bem, e a terceira caixa, chamada “Host”, mostra Error. Esse “erro de host da Cloudflare” significa que o problema está no servidor de origem, a máquina que de fato executa o site.
Como ele se diferencia dos códigos vizinhos:
520: o servidor respondeu, mas com uma resposta vazia ou inválida. Veja nosso guia sobre o código de erro 520
521: o servidor recusou a conexão
522: o servidor não respondeu a tempo
O que é o código de erro 521 na Cloudflare
Quando alguém acessa um site que usa a Cloudflare, a requisição vai primeiro para um data center da Cloudflare. Em seguida, a Cloudflare abre uma conexão com o servidor de origem para buscar a página. O código de erro 521 na Cloudflare aparece quando essa conexão é ativamente recusada.
De acordo com a documentação da Cloudflare, há dois motivos principais:
O aplicativo do servidor web está offline, por exemplo, o Nginx ou o Apache travou ou parou
As requisições da Cloudflare são bloqueadas na origem, geralmente por um firewall, um plugin de segurança ou um limitador de taxa
Todas as correções abaixo atacam uma dessas duas causas.
Como corrigir o código de erro 521 na Cloudflare (7 passos)

Siga os passos na ordem. A maioria dos erros 521 é resolvida até o passo 3.
Passo 1: Verifique se o servidor web está em execução
Conecte-se ao servidor e verifique o status do servidor web:
sudo systemctl status nginx # or: apache2 / httpd
sudo systemctl restart nginx # restart it if it's stopped
If it keeps stopping, check why. A common cause is the server running out of memory:
bash
sudo journalctl -u nginx --since "1 hour ago"
sudo dmesg | grep -i "killed process"Passo 2: Teste o servidor diretamente, sem passar pela Cloudflare
Isso mostra se o próprio servidor funciona. Substitua ORIGIN_IP pelo endereço IP real do seu servidor:
curl -I --resolve example.com:443:ORIGIN_IP https://example.com
sudo ss -tlnp | grep -E ':80|:443'O primeiro comando carrega o site direto do servidor. O segundo mostra se algo está escutando nas portas 80 e 443. Se nada estiver escutando, a Cloudflare não tem a que se conectar.
Passo 3: Libere os endereços IP da Cloudflare no firewall
Esta é a correção mais comum. A Cloudflare publica a lista completa de intervalos de IP em cloudflare.com/ips. Libere todos eles nas portas 80 e 443. Com o ufw:
for ip in $(curl -s https://www.cloudflare.com/ips-v4) $(curl -s https://www.cloudflare.com/ips-v6); do
sudo ufw allow from "$ip" to any port 80,443 proto tcp
doneVerifique também:
Plugins de segurança como o Wordfence e ferramentas de servidor como Imunify360 ou CSF
O bloqueador de IP do painel de controle da hospedagem, por exemplo, no cPanel
O firewall de rede ou a proteção contra DDoS da hospedagem, que talvez você não controle diretamente
Erro comum: colar uma regra de .htaccess que “nega tudo e permite a Cloudflare”. Ela pode bloquear suas próprias ferramentas de monitoramento e administração. Libere os intervalos da Cloudflare sem bloquear todo o resto, a menos que isso tenha sido planejado.
Passo 4: Ajuste o modo SSL/TLS para a porta correta
A Cloudflare se conecta em portas diferentes, dependendo da configuração de SSL/TLS:
Modo SSL/TLS da Cloudflare | Porta à qual a Cloudflare se conecta | O que o servidor precisa ter |
Flexible | 80 | Um servidor web escutando na porta 80 |
Full | 443 | Um servidor web escutando na porta 443 com qualquer certificado |
Full (strict) | 443 | Porta 443 com um certificado válido, como um Cloudflare Origin Certificate gratuito |
Se você mudou para Full e recebeu um erro 521 imediato, seu servidor provavelmente não está escutando na porta 443.
Passo 5: Verifique os registros DNS, incluindo IPv6
Nas configurações de DNS da Cloudflare, confirme que o registro A aponta para o endereço IP atual do servidor. Depois, procure um registro AAAA (IPv6). Se ele existir, mas o servidor não aceitar conexões IPv6, a Cloudflare pode tentar o IPv6 e ser recusada, enquanto o site funciona perfeitamente quando você testa por IPv4. Remova o registro AAAA ou faça o servidor web escutar em IPv6.
Passo 6: Verifique configurações com Docker ou proxy reverso
Se o site roda no Docker ou atrás de uma ferramenta como o Nginx Proxy Manager, confirme que a porta do contêiner está publicada, por exemplo -p 80:80 -p 443:443. Verifique também se o aplicativo escuta em 0.0.0.0, e não apenas em 127.0.0.1. Um aplicativo que escuta só no localhost recusa todas as conexões externas, inclusive as da Cloudflare.
Passo 7: Entre em contato com a hospedagem
Se nada acima funcionar, a hospedagem pode estar bloqueando a Cloudflare no nível da rede. Envie a ela o Ray ID exibido no rodapé da página de erro da Cloudflare, além do horário em que o erro ocorreu. Assim ela consegue localizar a requisição bloqueada.
Por que o erro 521 continua voltando
Esta é a pergunta que enche os fóruns de hospedagem, e a maioria dos guias nunca responde. Seu site funciona, depois exibe o 521 por um tempo e se corrige sozinho.
A causa habitual: atrás da Cloudflare, todo visitante chega ao seu servidor por um endereço IP da Cloudflare. Ferramentas de segurança como fail2ban, CSF ou mod_evasive, ou o próprio limitador de taxa do servidor, veem milhares de requisições vindas de poucos IPs, concluem que é um ataque e os banem temporariamente. Esses “atacantes” são a Cloudflare, então o site retorna o erro 521 até o banimento expirar.
A solução real tem duas partes:
1. Mostre ao servidor o endereço IP real de cada visitante. A Cloudflare o envia no cabeçalho CF-Connecting-IP.
Para o Nginx:
nginx
# Repeat set_real_ip_from for every range listed at cloudflare.com/ips
set_real_ip_from 173.245.48.0/20;
real_ip_header CF-Connecting-IP;
For Apache, using mod_remoteip:
apache
RemoteIPHeader CF-Connecting-IP
# Repeat for every range listed at cloudflare.com/ips
RemoteIPTrustedProxy 173.245.48.0/202. Adicione os intervalos da Cloudflare às listas de exceção das ferramentas de segurança, por exemplo ignoreip no fail2ban ou csf.ignore no CSF. Assim, as ferramentas banem visitantes abusivos de verdade, nunca a própria Cloudflare.
Verificação rápida: se os logs do firewall mostrarem banimentos de IPs que começam com 173.245., 104.16. ou 172.64., você encontrou a causa. Esses são intervalos da Cloudflare.
Erro 521 só em alguns países: teste a partir de vários locais
Às vezes um site funciona perfeitamente para você, mas mostra o erro 521 para visitantes de outros lugares. Cada data center da Cloudflare se conecta ao seu servidor a partir de seus próprios intervalos de IP. Se o firewall, ou uma regra de bloqueio por país em uma ferramenta como o CSF, bloquear alguns desses intervalos, apenas os visitantes roteados por esses data centers verão o erro.
Todo site na Cloudflare tem uma página de diagnóstico integrada em /cdn-cgi/trace. A linha colo= mostra qual data center da Cloudflare atendeu sua requisição. Para ver o que visitantes de diferentes países recebem, execute a verificação por meio de proxies residenciais localizados nesses países:
import requests
SITE = "https://example.com"
PROXIES = { # one proxy per country you want to test
"US": "http://USERNAME:PASSWORD@GATEWAY_HOST:PORT",
"DE": "http://USERNAME:PASSWORD@GATEWAY_HOST:PORT",
"SG": "http://USERNAME:PASSWORD@GATEWAY_HOST:PORT",
}
for country, proxy in PROXIES.items():
p = {"http": proxy, "https": proxy}
trace = requests.get(f"{SITE}/cdn-cgi/trace", proxies=p, timeout=15).text
colo = next((line[5:] for line in trace.splitlines() if line.startswith("colo=")), "?")
status = requests.get(SITE, proxies=p, timeout=15).status_code
print(f"{country}: Cloudflare data center {colo}, status {status}")Se um país retornar 521 enquanto os outros retornam 200, você encontrou um bloqueio regional. Verifique as regras de firewall e de países para os intervalos da Cloudflare que atendem essa região.
Teste seu site a partir de mais de 195 países: use os proxies residenciais rotativos da CyberYozh com segmentação por país, a partir de $2/GB, com o tráfego não utilizado acumulado para o período seguinte. Precisa ver o que os visitantes móveis recebem? Experimente os proxies móveis LTE/5G da CyberYozh. Confirme primeiro a localização de cada proxy com o verificador de IP gratuito da CyberYozh.
Viu um erro 521 durante scraping: não desperdice tráfego de proxy
Se o seu scraper ou ferramenta de SEO encontra um erro 521, o servidor do site de destino está fora do ar ou recusando a Cloudflare. Ele não está bloqueando você. Trocar para outro IP não vai ajudar, e cada nova tentativa consome tráfego.
O que fazer em vez disso:
Use backoff, aumentando o intervalo entre as tentativas, e pare após três ou quatro
Teste uma vez a partir de outra região. Se só uma região falha, é um bloqueio regional do lado do site de destino
Mova a URL para uma fila de repetição e mantenha o restante do trabalho em andamento
Registre os erros 521 separadamente dos bloqueios como 403 ou o 1020 da Cloudflare, para que suas taxas de sucesso reflitam a realidade
Em trabalhos grandes, um proxy backconnect rotativo cuida da rotação de IP nos bloqueios reais, enquanto o seu código trata os erros 521 com backoff. Nosso caso de uso de web scraping mostra como as equipes configuram isso.
Como evitar o erro 521

Monitore o uptime a partir de vários locais, para saber do erro 521 antes dos seus visitantes
Mantenha a lista de IPs da Cloudflare atualizada no firewall. A Cloudflare atualiza seus intervalos de vez em quando
Faça o servidor web reiniciar sozinho após uma falha, por exemplo com Restart=always no serviço systemd
Restaure os IPs reais dos visitantes para que as ferramentas de segurança nunca banam a Cloudflare
Teste mudanças de SSL e DNS em um domínio de staging antes de alterar o site em produção
Acompanhe memória e CPU, pois um servidor sem memória deixa de aceitar conexões
Conclusão
O código de erro 521 parece alarmante, mas é um dos erros da Cloudflare mais fáceis de corrigir, porque a causa está sempre no seu próprio servidor. Verifique se o servidor web está em execução, libere os intervalos de IP da Cloudflare, ajuste o modo SSL para a porta correta e procure um registro AAAA esquecido. Se o erro continuar voltando, impeça que as ferramentas de segurança banam a Cloudflare. Se ele aparece só em alguns países, teste a partir desses países antes de mudar qualquer coisa.
Veja seu site como o mundo o vê: confira todos os planos no catálogo da CyberYozh, com proxies residenciais rotativos em mais de 195 países a partir de $2/GB e proxies móveis LTE/5G a partir de $1.70 por dia.
