Neste artigo veremos como configurar o protocolo HTTPS para sites com domínio personalizado hospedados no GitHub Pages.

A limitação

Configurar um domínio personalizado para um site hospedado no GitHub Pages é extremamente simples, mas utilizar um domínio personalizado com HTTPS não é uma tarefa trivial, pois não é possível realizar o processo tradicional de configuração, o qual basicamente consiste em enviar e configurar no servidor web os arquivos fornecidos pela certificadora, sendo assim é necessário uma solução alternativa.

A solução

Como não possível realizar a configuração do HTTPS diretamente no GitHub Pages, contornaremos esta limitação usando o servidor DNS para “informar” aos clientes que o site suporta HTTPS.

Primeiramente é necessário ter certeza que o serviço de DNS utilizado suporta entradas do tipo CAA, a certificadora também precisa ter suporte a este recurso, no caso deste artigo é utilizado o serviço de DNS do GoDaddy e a certificadora Let’s Encrypt.

Configurar a entrada CAA no DNS

Com todos os requisitos atendidos a próxima etapa é configurar o DNS, para isto siga os passos abaixo:

1 - Acesse o dashboard do GoDaddy e vá para o gerenciador de DNS como indicado na imagem abaixo:

Acessar gerenciador de DNS do GoDaddy

2 - Agora clique em “ADICIONAR” para configurar uma nova entrada.

Adicionar nova entrada no DNS

3 - Escolha a opção “CAA”.

Selecione a opção CAA

4 - Verifique se todos os campos estão preenchidos como os da imagem abaixo, com exceção do campo “Nome completo *”, o qual neste caso está preenchido com “@”, pois o exemplo utiliza o domínio principal e não um subdomínio como por exemplo: blog.rafaelmoraes.tech, depois de preencher os campos corretamente, clique no botão “Salvar”.

Informar dados da entrada CAA

5 - Caso todos os campos tenham sido preenchidos corretamente a nova entrada deve aparecer na lista de modo similar ao da imagem:

Entrada CAA configurada com sucesso

Com isso finalizamos a configuração do DNS.

Configurar GitHub Pages

Com o DNS devidamente configurado, agora é necessário configurar o GitHub Pages para forçar o uso do HTTPS, para isto acesse a aba “Settings” do repositório do site e ative a opção “Enforce HTTPS” como pode ser visto na imagem a seguir:

Configurar GitHub Pages para forçar o HTTPS

Feito isso, basta aguardar poucos minutos(no meu caso foi quase instantâneo) que o HTTPS estará ativo e com isso finalizamos, sugestões e críticas são bem-vindas.

Fontes