Quando você usa o Cloudflare como CDN/proxy, seus visitantes se conectam aos servidores de borda do Cloudflare. Mas e a conexão entre o Cloudflare e seu servidor de origem? Sem um certificado na sua origem, essa conexão pode ficar sem criptografia — anulando o propósito do HTTPS.
Modos SSL do Cloudflare explicados
| Modo | Visitante → Cloudflare | Cloudflare → Origem | Segurança |
|---|---|---|---|
| Off | HTTP | HTTP | ❌ Sem criptografia |
| Flexible | HTTPS ✅ | HTTP ❌ | ⚠️ Falsa sensação de segurança |
| Full | HTTPS ✅ | HTTPS (não verificado) | ⚠️ Criptografado mas sem válidação de certificado |
| Full (Strict) | HTTPS ✅ | HTTPS (verificado) ✅ | ✅ Recomendado |
“Flexible” é perigoso. Seus visitantes veem um cadeado, mas a conexão Cloudflare→origem é HTTP puro. Qualquer pessoa no caminho de rede pode ler o tráfego. Sempre use Full (Strict).
Configurando Full (Strict) com um certificado Let’s Encrypt
A melhor abordagem: instale um certificado real e publicamente confiável na sua origem e habilite Full (Strict).
Passo 1: Obter um certificado Let’s Encrypt
Use o GetHTTPS para obter um certificado gratuito para seu domínio. Você precisa desabilitar temporariamente o proxy do Cloudflare (nuvem cinza nas configurações DNS) para que o challenge HTTP-01 alcance sua origem, ou use DNS-01 que funciona independentemente.
Método DNS-01 (sem necessidade de alterar o proxy):
- No GetHTTPS, escolha o challenge DNS-01
- Adicione o registro TXT
_acme-challengeno DNS do Cloudflare - Verifique e baixe o certificado
Método HTTP-01:
- No DNS do Cloudflare, clique na nuvem laranja → nuvem cinza (DNS only) para seu domínio
- Complete o challenge HTTP-01 no GetHTTPS
- Após obter o certificado, reative a nuvem laranja (proxied)
Passo 2: Instalar no seu servidor de origem
Instale o certificado no Nginx ou Apache normalmente.
Passo 3: Habilitar Full (Strict) no Cloudflare
- Vá ao painel do Cloudflare → seu domínio
- SSL/TLS → Overview
- Selecione Full (Strict)
O Cloudflare agora verificará se sua origem tem um certificado válido e confiável antes de conectar.
Alternativa: Certificado Cloudflare Origin CA
O Cloudflare oferece seus próprios certificados Origin CA — certificados gratuitos que são confiáveis apenas pelo Cloudflare, não diretamente pelos navegadores.
Como obter um
- Painel do Cloudflare → SSL/TLS → Origin Server
- Clique em Create Certificate
- Escolha o tipo de chave (RSA ou ECDSA) e validade (até 15 anos)
- Baixe o certificado e a chave privada
- Instale no seu servidor de origem
Prós e contras vs Let’s Encrypt
| Cloudflare Origin CA | Let’s Encrypt (via GetHTTPS) | |
|---|---|---|
| Confiável por | Apenas Cloudflare | Todos os navegadores (publicamente confiável) |
| Validade | Até 15 anos | 90 dias |
| Renovação automática necessária | Não (validade longa) | Sim (a cada 60-90 dias) |
| Funciona sem Cloudflare | ❌ | ✅ |
| Acesso direto pelo navegador | ❌ (mostra erro) | ✅ |
| Custo | Gratuito | Gratuito |
Use Cloudflare Origin CA se sua origem está sempre atrás do Cloudflare e você quer zero gerenciamento de renovação.
Use Let’s Encrypt se você pode precisar contornar o Cloudflare (manutenção, migração), precisa de acesso direto à sua origem ou quer um certificado que funcione em qualquer lugar.
Verificando se Full (Strict) está funcionando
Após a configuração, teste se a conexão está totalmente criptografada:
- Painel do Cloudflare → SSL/TLS → Overview deve mostrar “Full (Strict)”
- Visite seu site → o cadeado deve mostrar o certificado do Cloudflare para os visitantes
- Verifique a origem diretamente (contornando o Cloudflare):
Isso deve retornar uma resposta HTTPS válida com seu certificado Let’s Encrypt (ou Origin CA).curl -I --resolve yourdomain.com:443:YOUR_ORIGIN_IP https://yourdomain.com
Perguntas frequentes
Por que não usar apenas o modo Flexible?
O modo Flexible criptografa a conexão visitante→Cloudflare, mas envia o tráfego do Cloudflare para sua origem em HTTP puro. Isso significa:
- Seu ISP, provedor de hospedagem ou qualquer pessoa na rede entre a borda do Cloudflare e seu servidor pode ler todo o tráfego
- Seus visitantes veem um cadeado e pensam que estão seguros, mas a conexão backend não está
- Isso é especialmente perigoso para páginas de login, formulários de pagamento ou qualquer dado sensível
Meu certificado de origem precisa corresponder ao meu domínio exatamente?
Para o modo Full (Strict), sim — o certificado de origem deve ser válido para o domínio ao qual o Cloudflare está se conectando. Um certificado Let’s Encrypt para example.com funcionará. Um certificado autoassinado ou um certificado para um domínio diferente não funcionará.
Posso usar um certificado wildcard de origem?
Sim. Um certificado wildcard para *.example.com na sua origem funciona com Full (Strict) para qualquer subdomínio proxy pelo Cloudflare.
O que acontece se meu certificado de origem expirar?
O modo Full (Strict) do Cloudflare verifica a validade do certificado. Se seu certificado de origem expirar, o Cloudflare não consegue estabelecer uma conexão segura e seu site mostra um erro 526 (Invalid SSL Certificate). Configure monitoramento de expiração para prevenir isso.