Há certo tempo que o Heroku ganhou um lugar especial no meu coração. Ele me poupa tempo de deploy, integra com GitHub e é muito fácil de gerenciar.

Utilizo ele em aplicações em node sempre que possível, tanto para projetos pessoais, quanto para clientes.

Hoje, durante o deploy desse blog, tive que configurar SSL tanto na API que alimenta o blog, quanto no servidor que processa o micro-cms no meu domínio personalizado, e vim compartilhar com vocês como é fácil fazer isso.

O Heroku não permite SSL em aplicações com dynos gratuitos, então, você precisa adquirir, no mínimo, o plano Hobby para poder ativar. Atualmente, esse plano custa U$D7,00 então vale a pena (tendo em consideração que as aplicações não irão dormir mais).

Você pode conferir os preços e planos do Heroku nesse link oficial.

Habilitando o SSL na sua aplicação

Acesse a dashboard do Heroku, e acesse o painel do seu aplicativo.

Na aba "Settings", role a tela até encontrar a seção de "Domains and Certificates"

Configurando SSL no Heroku

Clique em "Configure SSL" e selecione "Automatically". Se você já adicionou um domínio personalizado antes, o heroku vai te passar um endpoint para você adicionar no DNS.

Se você não adicionou, não tem problema, vamos adiconar agora no CloudFlare.

Configurando seu domínio

No painel do CloudFlare, vá na aba de DNS e adicione um novo CNAME, conforme o da imagem:

Configurando o DNS do domínio no CloudFlare

Substitua o "seuapp" pelo subdomínio, ou, se for o domínio principal o destinado para a aplicação, deixe em branco ou preencha com o dominio principal.

Não se esqueça de deixar o domínio passando pelo CloudFlare, para você poder criar regras de enforce de HTTP diretamente. Só conferir que a nuvem está laranja, e não cinza.

Ativando e forçando o HTTPS

Esse é o último passo, mas que provavelmente você já fez antes, se usa o CloudFlare para gerenciar seus domínios.

No CloudFlare, na aba "Crypto", selecione a opção Full em SSL.

Habilitando o certificado SSL no CloudFlare

Por fim, vamos forçar o HTTPS diretamente do CloudFlare.

Na aba "Page Rules", clique em Create Page Rule

Adicionando regras de HTTPS no CloudFlare

Aqui você pode fazer uso do curinga * para forçar HTTPS em todas as requisições.

http://*.seudominio.com.br/*

ou apenas em um subdominio, onde está sua aplicação no Heroku:

http://seuapp.seudominio.com.br/*

agora é só clicar em Save and Deploy e pronto. Seu app no Heroku está com um domínio personalizado e com certificado SSL válido.

Lembrando que o CloudFlare oferece certificado SSL gratuito, mas, para ativar o SSL no Heroku é preciso desembolsar 7 trumps.

Bom, essa foi a postagem de hoje. Espero que tenham gostado. Abraço.