Veja como configurar a Cloudflare no seu site: troca de DNS no Registro.br, proxy, SSL Full (strict), IP real dos visitantes no Nginx e regras de WAF.
Para que serve
Ao configurar a Cloudflare na frente do seu site, os visitantes passam a se conectar à rede dela, que repassa as requisições ao seu servidor. Você ganha cache de arquivos estáticos perto do visitante, firewall de aplicação (WAF), proteção contra robôs e ataques na camada HTTP, e o IP do servidor deixa de aparecer no DNS. A proteção AntiDDoS do seu servidor continua atuando na rede; a Cloudflare complementa na camada de aplicação. Veja também o artigo «Proteção contra DDoS no servidor dedicado: o que a rede filtra e o que você deve configurar».
Pré-requisitos
- Conta na Cloudflare (o plano gratuito atende a maioria dos sites).
- Acesso ao painel do registro do domínio (Registro.br para
.br) para trocar os servidores DNS. - Site já funcionando com HTTPS no servidor (certificado Let's Encrypt ou da própria Cloudflare).
Passo a passo para configurar a Cloudflare
1. Adicione o domínio e revise os registros
- No painel da Cloudflare, clique em Add a domain e informe o domínio. Ela importa os registros DNS atuais.
- Compare com a zona antiga antes de trocar os servidores DNS: registros MX, TXT (SPF, DKIM, DMARC), CNAMEs de serviços externos e subdomínios esquecidos costumam ficar de fora da importação.
- Defina o status de cada registro:
- Proxied (nuvem laranja): registros do site (
@,www, subdomínios HTTP). - DNS only (nuvem cinza): tudo que não for HTTP/HTTPS:
mail, registros usados por MX, SSH, RDP, FTP, banco de dados, VPN, painel do Proxmox. O proxy da Cloudflare só repassa portas HTTP e HTTPS específicas (80, 443, 8080, 8443, 2053, 2083, 2087, 2096 e algumas outras).
- Proxied (nuvem laranja): registros do site (
mail ou ftp em DNS only apontando para o mesmo IP do site revela esse IP a quem procurar. Se esconder a origem é importante, use para o site um IP do seu bloco /28 diferente do usado por e-mail e outros serviços.2. Troque os servidores DNS no registro
A Cloudflare mostra dois nameservers (algo como nome.ns.cloudflare.com). No Registro.br, edite o domínio, escolha usar DNS externo e informe os dois. A propagação leva de minutos a algumas horas. Se o domínio usa DNSSEC, desative-o no registro antes da troca e reative pela Cloudflare depois, senão o domínio fica fora do ar.
3. Configure o SSL corretamente
- Em SSL/TLS > Overview, escolha Full (strict). Nesse modo a Cloudflare exige um certificado válido no servidor.
- Evite o modo Flexible: a conexão entre a Cloudflare e o servidor fica sem criptografia e é a causa clássica de loop de redirecionamento quando o servidor também força HTTPS.
- Como certificado no servidor, você pode manter o Let's Encrypt ou gerar um Origin Certificate em SSL/TLS > Origin Server (validade de até 15 anos, aceito somente pela Cloudflare). Salve os arquivos no servidor e aponte
ssl_certificateessl_certificate_keypara eles. - Em Edge Certificates, ative Always Use HTTPS.
4. Restaure o IP real dos visitantes no servidor
Sem isso, logs, bloqueios por IP, Fail2ban e a aplicação veem apenas IPs da Cloudflare. No Nginx, gere o arquivo com as faixas oficiais:
{
for ip in $(curl -s https://www.cloudflare.com/ips-v4) $(curl -s https://www.cloudflare.com/ips-v6); do
echo "set_real_ip_from $ip;"
done
echo "real_ip_header CF-Connecting-IP;"
} > /etc/nginx/conf.d/cloudflare-realip.conf
nginx -t && systemctl reload nginx
As faixas mudam raramente, mas mudam. Repita o comando a cada alguns meses ou agende-o no cron. No Apache, o equivalente é o módulo mod_remoteip. cPanel e Plesk têm opções ou extensões próprias para isso.
5. (Opcional) Aceite HTTP/HTTPS só da Cloudflare
Para impedir que alguém acesse o servidor direto pelo IP e contorne o WAF, libere as portas 80 e 443 apenas para as faixas da Cloudflare no firewall do servidor ou da VM.
6. Regras úteis
Em Security > WAF > Custom rules (o plano gratuito permite algumas regras):
- Desafio gerenciado (Managed Challenge) para
/wp-login.phpe/wp-adminquando o país não for Brasil, se seu público for só nacional. - Bloqueio de
/xmlrpc.phpse não for usado. - Em Caching > Cache Rules, regra de Bypass cache para áreas administrativas, carrinho, checkout e APIs. As antigas Page Rules estão sendo substituídas pelas Rules novas; prefira estas.
Para comparar as regras da Cloudflare com um WAF rodando no próprio servidor, veja também o artigo «Como instalar um WAF no servidor: ModSecurity com OWASP CRS e Cloudflare».
Durante manutenções ou alterações de layout, ative o Development Mode (desliga o cache por 3 horas) ou use Purge Cache.
Como saber se funcionou
dig +short exemplo.com.brretorna IPs da Cloudflare, não o do seu servidor.curl -sI https://exemplo.com.br | grep -iE "server|cf-ray|cf-cache-status"mostraserver: cloudflaree umcf-ray.- No log de acesso do Nginx aparecem os IPs reais dos visitantes.
- O e-mail continua chegando (os registros MX não foram afetados).
Problemas comuns
- ERR_TOO_MANY_REDIRECTS: modo SSL em Flexible com o servidor redirecionando para HTTPS. Mude para Full (strict).
- Erro 526: certificado do servidor inválido ou vencido no modo Full (strict).
- Erro 521 ou 522: a Cloudflare não conseguiu conectar ao servidor (serviço parado ou firewall bloqueando os IPs dela).
- Erro 524: o servidor demorou mais de 100 segundos para responder. Otimize a rotina ou mova-a para um subdomínio em DNS only.
- Upload grande falha: o plano gratuito limita o corpo da requisição a 100 MB.
- SSH ou RDP pararam após a troca: o registro usado está como Proxied. Mude para DNS only.
Perguntas frequentes
A Cloudflare gratuita protege contra DDoS?
Ela protege o site na camada HTTP (camada 7) contra robôs e picos de requisições. A proteção AntiDDoS da rede do servidor continua ativa para ataques volumétricos; as duas se complementam.
Qual modo SSL usar na Cloudflare?
Full (strict). Ele exige um certificado válido no servidor (Let's Encrypt ou Origin Certificate) e mantém a conexão criptografada até a origem. Evite o modo Flexible.
Por que aparece ERR_TOO_MANY_REDIRECTS depois de ativar a Cloudflare?
Normalmente o modo SSL está em Flexible e o servidor também redireciona para HTTPS, criando um loop. Mude para Full (strict).
A Cloudflare esconde o IP do meu servidor?
Só nos registros com proxy ativo (nuvem laranja). Registros em DNS only, como mail ou ftp, revelam o IP para quem consultar.
Posso passar SSH ou RDP pela Cloudflare?
Não pelo proxy comum: ele só repassa portas HTTP e HTTPS. Deixe os registros usados para SSH e RDP em DNS only e proteja esses acessos com VPN ou restrição de IP.
Leitura complementar
Precisa de ajuda?
Se ficar com alguma dúvida, abra um ticket na área do cliente ou fale com o suporte pelo WhatsApp.
