Associare un certificato SSL personalizzato a un'app Web

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

Se necessario, installare Azure PowerShell usando l'istruzione presente nella Guida di Azure PowerShell. 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 SSL da caricare e per cui si desidera eseguire l'associazione.

Script di esempio

$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-AzureRmResourceGroup -Name $webappname -Location $location

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

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

Write-Host "Configure a CNAME record that maps $fqdn to $webappname.azurewebsites.net"
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-AzureRmAppServicePlan -Name $webappname -ResourceGroupName $webappname `
-Tier Basic

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

# Upload and bind the SSL certificate to the web app.
New-AzureRmWebAppSSLBinding -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-AzureRmResourceGroup -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-AzureRmResourceGroup Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse.
New-AzureRmAppServicePlan Consente di creare un piano di servizio app.
New-AzureRmWebApp Crea un'App Web.
Set-AzureRmAppServicePlan Modifica un piano di servizio app per cambiarne il piano tariffario.
Set-AzureRmWebApp Modifica la configurazione di un'app Web.
New-AzureRmWebAppSSLBinding Crea un'associazione al certificato 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).