Associar um certificado TLS/SSL personalizado a um aplicativo Web usando o PowerShell

Este exemplo de script cria um aplicativo Web no Serviço de Aplicativo com seus recursos relacionados e associa o certificado TLS/SSL de um nome de domínio personalizado a ele.

Se necessário, instale o Azure PowerShell usando a instrução encontrada no guia do Azure PowerShell e, em seguida, execute Connect-AzAccount para criar uma conexão com o Azure. Além disso, verifique se:

  • Uma conexão com o Azure foi criado usando o comando az login.
  • Você tem acesso à página de configuração do DNS do registrador de seu domínio.
  • Você tem um arquivo .PFX válido e sua senha para o certificado TLS/SSL que você deseja carregar e associar.

Exemplo de script

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

$fqdn="<Replace with your custom domain name>"
$pfxPath="<Replace with path to your .PFX file>"
$pfxPassword="<Replace with your .PFX password>"
$webappname="mywebapp$(Get-Random)"
$location="West Europe"

# Create a resource group.
New-AzResourceGroup -Name $webappname -Location $location

# Create an App Service plan in Free tier.
New-AzAppServicePlan -Name $webappname -Location $location `
-ResourceGroupName $webappname -Tier Free

# Create a web app.
$webapp = New-AzWebApp -Name $webappname -Location $location -AppServicePlan $webappname `
-ResourceGroupName $webappname

Write-Host "Sign in to your domain provider's website and configure the following records:"
Write-Host "A CNAME record that maps $fqdn to $webappname.azurewebsites.net"
Write-Host "A TXT record that maps asuid.$fqdn to the domain verification ID $($webapp.CustomDomainVerificationId)"
Read-Host "Press [Enter] key when ready ..."

# Before continuing, go to your DNS configuration UI for your custom domain and follow the 
# instructions at https://aka.ms/appservicecustomdns to configure a CNAME record for the 
# hostname "www" and point it your web app's default domain name.

# Upgrade App Service plan to Basic tier (minimum required by custom SSL certificates)
Set-AzAppServicePlan -Name $webappname -ResourceGroupName $webappname `
-Tier Basic

# Add a custom domain name to the web app. 
Set-AzWebApp -Name $webappname -ResourceGroupName $webappname `
-HostNames @($fqdn,"$webappname.azurewebsites.net")

# Upload and bind the SSL certificate to the web app.
New-AzWebAppSSLBinding -WebAppName $webappname -ResourceGroupName $webappname -Name $fqdn `
-CertificateFilePath $pfxPath -CertificatePassword $pfxPassword -SslState SniEnabled

Limpar a implantação

Após a execução da amostra de script, o comando a seguir pode ser usado para remover o grupo de recursos, o aplicativo Web e todos os recursos relacionados.

Remove-AzResourceGroup -Name myResourceGroup -Force

Explicação sobre o script

Este script usa os comandos a seguir. Cada comando da tabela é vinculado à documentação específica do comando.

Comando Observações
New-AzResourceGroup Cria um grupo de recursos no qual todos os recursos são armazenados.
New-AzAppServicePlan Cria um Plano do Serviço de Aplicativo.
New-AzWebApp Cria um aplicativo web.
Set-AzAppServicePlan Modifica um plano do Serviço de Aplicativo para alterar seu tipo de preço.
Set-AzWebApp Modifica a configuração de um aplicativo Web.
New-AzWebAppSSLBinding Cria uma associação de certificado TLS/SSL para um aplicativo Web.

Próximas etapas

Para obter mais informações sobre o módulo do Azure PowerShell, confira Documentação do Azure PowerShell.

Exemplos adicionais do Azure PowerShell para Aplicativos Web do Serviço de Aplicativo do Azure podem ser encontrados nos exemplos do Azure PowerShell.