DevSecOpsARTIGO

Tornando seu site HTTPS com Azure Web App, Custom Domain e Let’s Encrypt

Neste artigo, Rafael Cruz explica como podemos utilizar o Azure Web App utilizando um domínio customizado com o Let’s Encrypt.

Tornando seu site HTTPS com Azure Web App, Custom Domain e Let’s Encrypt
Imagem: Rafael Cruz

Fala, galera!

Já imaginaram rodar seus sites 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 somente o HTTPS conforme a 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 a figura abaixo. Copie o ID DO APLICATIVO, pois 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 – usaremos posteriormente.

5 – Instalar a Extensão do Let’s Encrypt

Feita 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 pra você. Vamos configurar nosso Web Job conforme a figura abaixo para que faça esse trabalho pra nós.

Vá em Settings e ligue o Always On e em seguida 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 artigo vamos configurar o Let’s Encrypt. Para isso devemos ir em Advanced Tools, conforme a imagem abaixo:

Vamos preencher o formulário com as informações abaixo:

  • Tenant: você obtêm no Azure Active Directory, ou clique em seu nome no canto superior direto e vá em mudar diretório – lá você encontra 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.

Ao inserir as informações você será redirecionado para outro formulário, conforme a 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.

Abraços e até a próxima!

Rafael CruzAutor

Rafael Cruz é Partner e Lead Software Architect na Electric Dreams, Professor Universitário, Most Valuable Profissional (MVP), Instrutor Oficial Microsoft (MCT), Fundador do Coders in Rio, Pós graduado em Engenharia de Software pela UFRJ. Atua como palestrante e autor em portais voltado para tecnologia Microsoft com foco em Web, Cloud e Mobile

Ver perfil