Activar o SSL no Cloudflare sem partir o site

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 a carregar para sempre e um navegador que desiste. Leia isto antes de trocar os nameservers.

O valor certo no nosso hospedagem é Full (strict). O valor Flexible põe o site num ciclo infinito de reencaminhamentos. 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 ligação do visitante até ao seu site passa a ter duas pernas, e cada uma tem o seu certificado.

A perna Que certificado usa
Do visitante até à Cloudflare O certificado dela, emitido automaticamente quando o domínio fica activo. É o cadeado que o visitante vê.
Da Cloudflare até ao 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 cifra nenhuma. Não se usa.
Flexible A Cloudflare fala connosco sem cifra, mesmo que o visitante veja cadeado. É o que provoca o ciclo infinito. Não se usa aqui.
Full Fala cifrado, mas aceita qualquer certificado, mesmo um inválido. Serve como degrau temporário e nada mais.
Full (strict) O valor certo. Fala cifrado e exige um certificado válido. O nosso é.

Porque é 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 ligação dele está cifrada.
2 Em Flexible, a Cloudflare vem buscá-la ao nosso servidor em http, sem cifra.
3 O nosso servidor vê um pedido sem cifra e faz o que lhe mandaram fazer: reencaminha para https.
4 A Cloudflare recebe esse reencaminhamento, 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 demasiados reencaminhamentos.

O reencaminhamento do passo três pode vir de dois sítios, 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 ficheiro .htaccess Se a escreveu, está lá. Veja como redireccionar HTTP para HTTPS via .htaccess, que já traz este aviso.
O interruptor do cPanel Na secção Domains do cPanel há uma opção que força o https sem tocar em ficheiro nenhum. Muita gente esquece-se de que a ligou.
A cura não é desligar o reencaminhamento. É pôr o modo em Full (strict). Desligar o reencaminhamento tira o ciclo mas deixa o site a servir páginas sem cifra 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 Põnha o modo em Full (strict) no painel da Cloudflare, na secção de SSL.
3 Só agora troque os nameservers, se ainda não o fez. Se já os trocou, este é o primeiro ecrã 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 cifra passa a ser corrigido logo à entrada, e nunca chega a percorrer o caminho todo.
5 Teste com sessão iniciada e sem sessão iniciada, em janela privada, 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 registo 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 desligue a opção. Não a ligue enquanto não tiver tudo assente, incluindo subdomínios. Ligar cedo de mais 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 toda a gente.

Resolvido o SSL, o passo seguinte é a 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 reencaminhamentos? 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

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 600,00 MT/mês

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?