Configurar HTTPS para domínio personalizado no GitHub Pages
Conteúdo do post.
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:
2 - Agora clique em “ADICIONAR” para configurar uma nova entrada.
3 - Escolha 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”.
5 - Caso todos os campos tenham sido preenchidos corretamente a nova entrada deve aparecer na lista de modo similar ao da imagem:
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:
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.