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
- Passo 1 — Emitir o certificado
- Passo 2 — Vincular via SNI
- Passo 3 — Validar e conferir a validade
- Renovação automática: como funciona
- O que o Managed Certificate não cobre
- Troubleshooting comum
- Conclusão
- Referências oficiais
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ário | Suportado? |
|---|---|
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
| Sintoma | Causa | Solução |
|---|---|---|
Hostname is not verified | Domínio ainda não foi adicionado/validado no App Service | Rodar az webapp config hostname add antes de emitir o certificado |
App Service Plan does not support this feature | Plano Free ou Shared | Fazer scale up pra Basic ou superior |
| Renovação automática falhou | CNAME/A record do domínio foi alterado ou removido | Restaurar o registro DNS original e reemitir o certificado manualmente se já expirou |
| Emissão trava em domínio raiz | Falta o registro TXT asuid de verificação | Adicionar 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
- Criar um certificado gerenciado gratuito no App Service (Microsoft Learn)
- az webapp config ssl — referência da CLI (Microsoft Learn)
- 📖 VNet Integration Regional no App Service
- 📖 Instalando um Certificado SSL em uma WebApp Azure (certificado comprado, pra comparação)
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.