App Service Managed Certificate: SSL Grátis pro Domínio Customizado

Depois de apontar um domínio customizado pro App Service, o próximo obstáculo é sempre o mesmo: certificado SSL custa dinheiro e dá trabalho de renovar. O App Service Managed Certificate resolve os dois problemas de uma vez — é gratuito e renova sozinho, sem nenhuma ação manual, contanto que a validação do domínio continue passando.

Neste guia rápido você vai emitir o certificado gerenciado pra um domínio já configurado no App Service e vinculá-lo via SNI, tudo com dois comandos de Azure CLI.

Sumário

Pré-requisitos

Antes de pedir o certificado, o domínio precisa estar adicionado e validado no App Service — o Managed Certificate não cria o domínio customizado, só emite o SSL pra um que já existe:

az webapp config hostname add \
    --webapp-name meuapp-prod \
    --resource-group rg-appservice-lab \
    --hostname www.meusite.com.br

O recurso exige plano Basic ou superior (não funciona no Free nem no Shared) e não cobre domínios curinga (*.meusite.com.br) — cada hostname precisa do seu próprio certificado.

Passo 1 — Emitir o certificado

az webapp config ssl create \
    --resource-group rg-appservice-lab \
    --name meuapp-prod \
    --hostname www.meusite.com.br \
    --query thumbprint -o tsv

O comando devolve o thumbprint do certificado recém-emitido — guarde esse valor, ele identifica o certificado no passo de vínculo. A emissão em si é quase instantânea, já que a validação do domínio já foi feita quando o hostname foi adicionado.

Passo 2 — Vincular via SNI

Emitir não é o mesmo que ativar — o certificado só passa a proteger o tráfego depois do bind. O SNI (Server Name Indication) é o tipo de vínculo recomendado, e é o único suportado pelo Managed Certificate (não existe a opção de IP-based SSL aqui):

thumbprint=$(az webapp config ssl create \
    --resource-group rg-appservice-lab \
    --name meuapp-prod \
    --hostname www.meusite.com.br \
    --query thumbprint -o tsv)

az webapp config ssl bind \
    --resource-group rg-appservice-lab \
    --name meuapp-prod \
    --certificate-thumbprint "$thumbprint" \
    --ssl-type SNI

Passo 3 — Validar e conferir a validade

az webapp config ssl list \
    --resource-group rg-appservice-lab \
    -o table

Thumbprint    SubjectName            ExpirationDate       Issuer
------------  ---------------------  -------------------  -----------------
9F3A...C21B   www.meusite.com.br     2026-03-15T23:59:59  Digicert / MSFT

Repare na janela de validade: o Managed Certificate é emitido com 6 meses de validade — bem mais curto que um certificado comprado, mas isso é intencional, faz parte do ciclo de renovação automática do próximo tópico.

Renovação automática do App Service Managed Certificate

A plataforma tenta renovar automaticamente cerca de 45 dias antes do vencimento, revalidando a posse do domínio nos bastidores. Não existe cron job nem alerta pra configurar — mas isso só funciona se a validação continuar passando, o que quer dizer: não mude o CNAME/registro do domínio nem remova o hostname do App Service depois de configurado. Se a validação falhar na hora da renovação, o certificado expira mesmo, e você só vai notar quando o navegador reclamar.

Vale marcar no calendário uma checagem manual uns 10 dias antes do vencimento (via az webapp config ssl list), só pra confirmar que a renovação automática do App Service Managed Certificate realmente aconteceu — é raro falhar, mas custa muito menos checar do que descobrir por reclamação de usuário.

O que o Managed Certificate não cobre

CenárioSuportado?
Domínio curinga (*.meusite.com.br)❌ Não — precisa de certificado próprio
Plano Free ou Shared❌ Não — mínimo Basic
Domínio atrás de Azure Front Door/CDN externo⚠️ Depende — a validação precisa alcançar o App Service diretamente
Domínio raiz/apex (sem www)✅ Sim, com registro A + verificação por TXT (asuid)
Exportar a chave privada❌ Não — o certificado é gerenciado, sem exportação

Troubleshooting comum

SintomaCausaSolução
Hostname is not verifiedDomínio ainda não foi adicionado/validado no App ServiceRodar az webapp config hostname add antes de emitir o certificado
App Service Plan does not support this featurePlano Free ou SharedFazer scale up pra Basic ou superior
Renovação automática falhouCNAME/A record do domínio foi alterado ou removidoRestaurar o registro DNS original e reemitir o certificado manualmente se já expirou
Emissão trava em domínio raizFalta o registro TXT asuid de verificaçãoAdicionar o TXT record indicado pelo portal ao configurar o hostname raiz

Conclusão

Pra domínio customizado sem exigência de wildcard, o App Service Managed Certificate elimina de vez o custo e a manutenção manual de SSL — emite, vincula e renova sozinho enquanto o DNS continuar apontando certo. Menos uma tarefa recorrente no checklist de operação.

Referências oficiais

Leitura relacionada

Interessado em saber mais sobre artigos relacionados ao Microsoft Azure CLIQUE AQUI

🚀 Vamos nos conectar?

Não perca nenhuma oportunidade! Cadastre-se nas minhas redes e no canal do YouTube para receber conteúdos de TI, Cloud, Azure, Kubernetes e DevOps em primeira mão.

Dica: No Facebook, todos os artigos do blog são publicados automaticamente. Vale a pena curtir!


💬 Dúvidas ou Problemas?

Com o intuito de ajudar a comunidade, caso você tenha dúvidas ou encontre problemas na execução dos comandos deste artigo, deixe um comentário abaixo. Responderei o mais breve possível!

Muito obrigado pela visita e até o próximo post!

Jefferson Castilho Especialista em Cloud & DevOps.

Este guia técnico é exclusivo do Blog do Castilho. Explore mais conteúdos sobre Cloud e DevOps.

 

Deixe uma resposta

Descubra mais sobre Blog do Castilho - Tecnologia | FinOps | DevOps | Cloud

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo