3 de julho de 2022 - Frederico Marinho
Como instalar certificado SSL gratuito no Microsoft Azure
Esse artigo mostra o passo-a-passo de como instalar um certificado de segurança SSL gratuito, do Let’s Encrypt, em um domínio hospedado em servidor Microsoft Azure. Ao finalizar, você conseguirá acessar seu App Service usando o https:// no seu domínio (por exemplo, https://www.divera.com.br.
Última revisão: 01/04/2023 (e não é mentira!)
Pré-requisito: Plano Contratado no Azure
Um passo importante a se saber é que não é possível instalar um certificado SSL em um plano gratuito do Azure. Nesse caso, será necessário alterar seu plano.
Para conferir qual seu plano atual, acesse o seu App Service. No painel inicial do Azure, verifique qual é o seu Serviço de Aplicativo (App Service) e clique no nome do serviço:
Navegue, no menu lateral esquerdo, até a opção Alterar Plano do Serviço de Aplicativo:
Veja a imagem abaixo. O Pricing Tier na última linha indica seu plano atual. No meu caso, é o plano Basic (B1), que é pago. Caso o seu plano seja o F1 (Free), será necessário alterar.
Para alterar, clique no nome do plano. A tela de seleção de planos será exibida:
O plano F1 está selecionado. Será necessário alterar para o plano B1 (ainda em Dev/Test) ou ir para uma máquina de produção (Production), com máquinas mais potentes e consequentemente mais caras. Dependendo da sua aplicação, B1 será suficiente.
Veja que ao clicar no B1, aparecem as features incluídas e uma delas é o SSL para domínios personalizados. Agora é só clicar no botão Apply. No meu caso o botão está desabilitado porque B1 já é o plano atual.
Feito isso, você já estará apto a instalar o certificado SSL.
Criando o Certificado SSL com Let’s Encrypt
Se você já tiver um certificado você pode pular esse tópico e ir direto para o próximo passo. Caso contrário, será necessário adquirir um, comprando de alguma Certificadora licenciada ou então criar um gratuito pela Let’s Encrypt.
Se você ainda não possui, veja o artigo Como Criar um Certificado SSL gratuito no Windows. Assim que finalizar, salve os arquivos PFX e volte aqui nesse artigo para associar o SSL ao serviço na Azure.
Importando os certificados no Azure
Com os arquivos PFX em mãos, só precisamos agora carregá-los no Azure e depois associá-los ao Service App.
- Clique em Certificados no menu lateral do seu Service App.
- Agora clique na aba Traga seus próprios certificados (.pfx).
- Observe no final da tela que não existe nenhum certificado carregado. Vamos carregar clicando em Adicionar Certificado:
- Será aberta uma aba na lateral direita, com os campos para você carregar o arquivo PFX e digitar a senha solicitada no momento da geração. Tomara que você não tenha esquecido essa senha, hehe.
- Depois clique em Validar e Adicionar.
- Será necessário carregar os dois arquivos PFX, um para o domínio sem www e outro para o domínio com www. Sendo assim, faça o mesmo processo duas vezes. Ao finalizar o carregamento, você terá dois certificados prontos para serem associados ao serviço:
Atualização: Em alguns casos o Azure pode apresentar erro ao carregar certificado, em casos de geração através do WSL Ubuntu no Windows.
Achei a solução para o erro nesse link: https://stackoverflow.com/questions/73001634/azure-app-service-unable-to-validate-pfx-file-certificate-failed-validation-be
Parece que a forma como o PFX é gerado pelo OpenSSL no Ubuntu não é mais compatível com o que é necessário no Azure. Nesse caso, vamos precisar reecriar o certificado PFX através do PowerShell do Windows. Siga os passos:
- Acesse o PowerShell do Windows como administrador:
- Instale o módulo OpenSSL com o comando abaixo:
Install-Module -Name OpenSSL
- Execute o comando abaixo, substituindo o valor de
-FilePath
com o caminho do arquivo pfx que não está sendo aceito no Azure, e altere também ‘MyPassword’ pela senha usada na geração do certificado original.
Import-PfxCertificate -FilePath "pfx file path" -CertStoreLocation Cert:\LocalMachine\My -Password (ConvertTo-SecureString -String 'MyPassword' -AsPlainText -Force) -Exportable
- Um mensagem de sucesso vai se parecer mais ou menos com isso:
- Use agora o código do Thumbprint para exportar seu novo arquivo pfx, substituindo-o em
-Cert
, substituindo também o caminho do novo pfx em-FilePath
‘MyPassword’ em-String
pela mesma senha do certificado gerado no comando abaixo:
Export-PfxCertificate -Cert Microsoft.PowerShell.Security\Certificate::LocalMachine\My\B56CE9B122FB04E29A974A4D0DB3F6EAC2D150C0 -FilePath 'newPfxName.pfx' -Password (ConvertTo-SecureString -String 'MyPassword' -AsPlainText -Force)
- Pronto! Agora é só subir no Azure seu novo pfx gerado com esse último comando, lembrando que é preciso fazer isso para cada domínio que você quer ativar.
Associando os certificados importados ao Service App
Após finalizar a importação dos certificados, clica na menu Domínios personalizados:
E depois clique em Adicionar associação:
Caso ainda não tenha adicionado domínios, clique antes em Adicionar domínio personalizado.
Na janela que abriu pela lateral direita, o trabalho agora é apenas selecionar as opções. Selecione o certificado clicando no domínio correto (só terá uma única opção para o domínio) e por último o tipo de SSL (que também será apenas um).
Clique em Adicionar e tá tudo certo:
Repita o mesmo processo para todos os domínios.
Após finalizar a associação de todos os domínios, basta ativar a função Somente HTTPS, para garantir que o serviço seja acessado apenas com o certificado.
Pronto! Seu serviço será acessado daqui pra frente de forma segura e criptografada com o certificado SSL.
0
Deixe um comentário