Tornando seu Site HTTPS com Azure Web App, Custom Domain e Let’s Encrypt
Fala Galera,
Já pensou rodar seu site com um domínio próprio e ainda em HTTPS no Azure?
Neste artigo irei explicar como podemos utilizar o Azure Web App utilizando um domínio customizado com o Let’s Encrypt.
E o que seria o Let’s Encrypt?
Let’s Encrypt é um serviço gratuito, automatizado e uma Autoridade Certificadora Aberta. Isso significa que você pode obter certificados para SSL (Secure Socker Layer) de forma gratuita, ou seja, transformar seu site http:// para https://
Ele usa um protocolo chamado “ACME – Automated Certificate Management Environment” que auxilia nas instalações do certificado no seu site.
O Let’s Encrypt é tão fantástico que existe uma extensão que auxilia na instalação do certificado no seu site.
Habilitando HTTPS no seu Azure Web App
Para habilitar o HTTPS no seu Azure Web App devemos seguir alguns passos e usar alguns serviços do Azure que irão auxiliar nesta tarefa.
1 – Criar um Azure Web App
Crie o Azure Web App e escolha um plano de serviço que forneça domínio customizado e HTTPS conforme mostrado na imagem abaixo
2 – Configurar seu domínio customizado no Azure Web App
Com seu domínio já comprado faça o registro, associe ao Azure Web App e ative o somente HTTPS conforme imagem abaixo:
3 – Registrar o Web App no Azure AD
Para que possamos rodar o WebJob do Let’s Encrypt e instalar o certificado de segurança devemos registrar o nosso Web App no Azure AD conforme figura abaixo, copie o ID DO APLICATIVO iremos usar posteriormente.
4 – Criar uma senha do Aplicativo
Após o registro vá em Settings e em Keys e crie uma senha conforme mostrado abaixo. Copie a senha iremos usar posteriormente.
5 – Instalar a Extensão do Let’s Encrypt
Feito toda a configuração do Azure AD temos que instalar a extensão do Let’s Encrypt no Web App.
6 – Configurar o WebJob
O Let’s Encrypt cria certificados SSL com validade de 90 dias mas não se preocupe você não precisará repetir esse processo a cada 90 dias.
A extensão do Let’s Encrypt cria um Web Job no qual ele fará todo o processo de instalação do certificado SSL para você. Vamos configurar nosso Web Job conforme figura abaixo para que faça esse trabalho para nós.
Vá em Settings e ligue o Always On e após vamos configurar as chaves do Web Job.
Para que o Web Job funcione corretamente precisamos criar uma conta no Azure Storage. Na criação da chave do Web Job vamos configurar a connection string do Azure Storage.
A connection string do Azure Storage é uma chave parecida com essa abaixo:
DefaultEndpointsProtocol=https;AccountName=[myaccount];AccountKey=[mykey];
7 – Configurar Lets Encrypt e Instalar Certificado de Segurança SSL
Nesta última parte do nosso post vamos configurar o Let’s Encrypt para isso devemos ir em Advanced Tools conforme imagem abaixo:
Vamos preencher o formulário com as informações:
- Tenant: Você obtêm no Azure Active Directory ou clique em seu nome no canto superior direto e vá em mudar diretório. Lá contém a informação do seu Tenant
- Subscription Id: Você obtêm na aba Overview do seu Web App
- ClientId: Id do Aplicativo que foi copiado do Passo 3 do registro do Aplicativo
- Client Secret: Senha que foi criada no Passo 4
- ResourceGroupName: Grupo de recurso no qual o Web App está inserido. Obtido na aba Overview.
Inserido as informações você será redirecionado para outro formulário conforme imagem abaixo:
Selecione o seu domínio customizado e preencha com a informação de seu e-mail .
Ao clicar em Request and Install Certificate você deverá ver uma tela indicando que o certificado foi instalado com sucesso
Para testar vamos entrar no site e verificar que realmente estamos usando o Let’s Encrypt como Autoridade Certificadora
Com isso, agora o certificado do Let’s Encrypt está instalado em nosso Web App e estamos em HTTPS.
A instalação do Let’s Encrypt não é um trabalho complicado porém são muitos detalhes que temos que nos atentar. O Let’s Encrypt é uma mão na roda para se usar em sites pequenos e até mesmo em hotsite.
Abs e até a próxima.