Associare un certificato TLS/SSL personalizzato a un'app Web usando PowerShell

Questo script di esempio crea un'app Web nel servizio app con le relative risorse correlate, quindi associa ad essa il certificato TLS/SSL di un nome di dominio personalizzato.

Se necessario, installare Azure PowerShell usando l'istruzione presente nella Guida di Azure PowerShell e quindi eseguire Connect-AzAccount per creare una connessione con Azure. Verificare inoltre se:

  • È stata creata una connessione con Azure usando il comando az login.
  • Si disponga dell'accesso alla pagina di configurazione DNS del registrar.
  • Si disponga di un file con estensione PFX valido e della relativa password per il certificato TLS/SSL da caricare e per cui si vuole eseguire l'associazione.

Script di esempio

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad 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

Pulire la distribuzione

Dopo aver eseguito lo script di esempio, usare il comando seguente per rimuovere il gruppo di risorse, l'App Web e tutte le risorse correlate.

Remove-AzResourceGroup -Name myResourceGroup -Force

Spiegazione dello script

Questo script usa i comandi seguenti. Ogni comando della tabella include collegamenti alla documentazione specifica del comando.

Comando Note
New-AzResourceGroup Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse.
New-AzAppServicePlan Consente di creare un piano di servizio app.
New-AzWebApp Crea un'App Web.
Set-AzAppServicePlan Modifica un piano di servizio app per cambiarne il piano tariffario.
Set-AzWebApp Modifica la configurazione di un'app Web.
New-AzWebAppSSLBinding Crea un'associazione al certificato TLS/SSL per un'app Web.

Passaggi successivi

Per altre informazioni sul modulo Azure PowerShell, vedere la documentazione di Azure PowerShell.

Altri esempi di Azure PowerShell per app Web del servizio app di Azure sono disponibili in Azure PowerShell samples (Esempi di Azure PowerShell).