Ativar o SSL no Cloudflare sem partir o site

Velocidade, Cache e CDN··· 829 visualizações· 5 min de leitura

Esta é a opção mais importante de todas as que a Cloudflare tem, e a mais fácil de acertar mal. Escolher o valor errado não dá um aviso: dá um site que fica carregando para sempre e um navegador que desiste. Leia isto antes de trocar os nameservers.

O valor certo na nossa hospedagem é Full (strict). O valor Flexible põe o site num ciclo infinito de encaminhamentos. Não é uma opinião nem um gosto: é o que decorre de como o nosso servidor está configurado, e está explicado a seguir.

São dois certificados, e não um

Com a Cloudflare à frente, a conexão do visitante até o seu site passa a ter duas pernas, e cada uma tem o seu certificado.

A perna Que certificado usa
Do visitante até a Cloudflare O certificado dela, emitido automaticamente quando o domínio fica ativo. É o cadeado que o visitante vê.
Da Cloudflare até o nosso servidor O certificado nosso, emitido e renovado automaticamente na sua conta. É este que o modo de SSL decide usar ou ignorar.

O certificado do nosso lado é real, é emitido por uma autoridade reconhecida, e renova-se sozinho enquanto a conta existir. É por isso que podemos usar o modo mais exigente: o nosso lado tem mesmo com que responder. Sobre certificados em geral, veja o que é um certificado SSL e porque não dura 365 dias.

Os quatro modos, e o que cada um faz

Modo O que faz na perna até nós
Off Sem criptografia nenhuma. Não se usa.
Flexible A Cloudflare fala conosco sem criptografia, mesmo que o visitante veja cadeado. É o que provoca o ciclo infinito. Não se usa aqui.
Full Fala criptografado, mas aceita qualquer certificado, mesmo um inválido. Serve como degrau temporário e nada mais.
Full (strict) O valor certo. Fala criptografado e exige um certificado válido. O nosso é.

Por que o Flexible dá um ciclo infinito

A mecânica é simples e vale a pena percebê-la, porque explica um sintoma que parece impossível.

1 O visitante pede a página em https à Cloudflare, e a conexão dele está criptografada.
2 Em Flexible, a Cloudflare vem buscá-la ao nosso servidor em http, sem criptografia.
3 O nosso servidor vê um pedido sem criptografia e faz o que lhe mandaram fazer: encaminha para https.
4 A Cloudflare recebe esse encaminhamento, volta a pedir, e volta a pedir em http, porque é isso que o modo Flexible faz.
5 Repete-se até o navegador desistir, com uma mensagem de muitos encaminhamentos.

O encaminhamento do passo três pode vir de dois lugares, e convém saber de qual, porque as pessoas desligam um e esquecem-se do outro:

De onde vem Onde se vê
A regra no arquivo .htaccess Se a escreveu, está lá. Veja como redirecionar HTTP para HTTPS via .htaccess, que já traz este aviso.
O interruptor do cPanel Na seção Domains do cPanel há uma opção que força o https sem tocar em arquivo nenhum. Muita gente esquece-se de que a ligou.
A cura não é desligar o encaminhamento. É pôr o modo em Full (strict). Desligar o encaminhamento tira o ciclo mas deixa o site a servir páginas sem criptografia na perna até nós, o que é pior do que o problema.

A ordem certa

1 Confirme que o site abre em https aqui, antes de a Cloudflare entrar em jogo. Se abrir, o certificado está emitido e Full (strict) vai funcionar.
2 Ponha o modo em Full (strict) no painel da Cloudflare, na seção de SSL.
3 Só agora troque os nameservers, se ainda não o fez. Se já os trocou, esta é a primeira tela a abrir.
4 Ligue Always Use HTTPS na Cloudflare. Com Full (strict), esta opção e a regra do .htaccess convivem sem ciclo: o pedido sem criptografia passa a ser corrigido logo à entrada, e nunca chega a percorrer o caminho todo.
5 Teste com login ativo e sem login ativo, em janela anônima, e clique em três páginas.
Se Full (strict) falhar, a causa é sempre do nosso lado e é sempre visível. Ou o certificado ainda não saiu para aquele nome, ou o nome não está coberto (um subdomínio novo, por exemplo). Ponha o registro fora do encaminhamento, espere que o certificado saia, e volte a pô-lo dentro. Veja o cadeado não aparece: as causas, por ordem.

Duas opções vizinhas que dão problemas

Opção O que saber antes
HSTS Diz aos navegadores para nunca mais tentarem http naquele domínio, e eles obedecem durante o prazo que você definir, mesmo que desative a opção. Não a ligue enquanto não tiver tudo estável, incluindo subdomínios. Ligar cedo demais transforma um problema de meia hora num problema de semanas.
Certificado de origem da Cloudflare Ela oferece um certificado para pôr no nosso servidor. Não é preciso: o nosso já sai sozinho. E tem uma armadilha, porque esse certificado só é reconhecido pela Cloudflare: no dia em que tirar o encaminhamento, o site fica com um aviso de segurança para todo mundo.

Resolvido o SSL, o passo seguinte é o cache. Para WordPress, veja regras de cache para um WordPress; para o resto das opções, as que valem a pena e as que dão problemas.

O site entrou em ciclo de encaminhamentos? Diga-nos o endereço e o modo que tem escolhido.

Abrir um pedido de suporte

VEJA TAMBÉM

Certificados SSL

Planos de hospedagem

Política de Suporte

PRODUTO RECOMENDADO

Hospedagem de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.