Acquistare e configurare un certificato SSL per il servizio app di Azure

In questa esercitazione, si intende proteggere l'app Web tramite l'acquisto di un certificato SSL per il servizio App di Azure, archiviandolo in modo sicuro nell' Azure Key Vaulte associandolo a un dominio personalizzato.

Passaggio 1: Accedere ad Azure

Accedere al portale di Azure all'indirizzo http://portal.azure.com

Passaggio 2: eseguire un ordine per un certificato SSL

È possibile ordinare un certificato SSL creando un nuovo certificato di servizio App nel portale di Azure.

Creazione del certificato

Immettere un nome descrittivo per il certificato SSL e immettere il nome del dominio

Nota

Questa è una delle parti più importanti del processo di acquisto. Assicurarsi di immettere il nome host corretto (dominio personalizzato) che si desidera proteggere con il certificato. NON aggiungere WWW al nome host.

Selezionare la Sottoscrizione, il Gruppo di risorse e lo SKU del certificato

Avviso

I certificati del servizio App possono essere usati solo da altri servizi App nella stessa sottoscrizione.

Passaggio 3: archiviare il certificato nell'Azure Key Vault

Nota

Il Key Vault è un servizio di Azure che consente di proteggere le chiavi e i segreti di crittografia usati da servizi e applicazioni cloud.

Dopo aver completato l'acquisto del certificato SSL, è necessario aprire il pannello delle risorse Certificati del servizio app.

inserimento immagine stato di pronto per l'archiviazione in un insieme di credenziali delle chiavi

Si noterà che lo stato del certificato è "Rilascio in sospeso" dal momento che sono previsti pochi altri passaggi da completare prima di iniziare a usare questo certificato.

Fare clic su Configurazione del certificato nel pannello Proprietà del certificato e fare clic su Passaggio 1: archiviare per archiviare il certificato nell'Azure Key Vault.

Nel pannello Stato del Key Vault fare clic su Archivio del Key Vault per scegliere un insieme esistente in cui archiviare il certificato O Crea nuovo Key Vault per creare un nuovo insieme all'interno della stessa sottoscrizione e dello stesso gruppo di risorse.

Nota

L' Azure Key Vault prevede addebiti minimi per l'archiviazione di questo certificato. Per altre informazioni, vedere Prezzi di Azure Key Vault.

Dopo aver selezionato l'archivio del Key Vault in cui archiviare il certificato, selezionare il pulsante Archivia.

inserimento immagine per la riuscita dell'archiviazione in un Key Vault

Passaggio 4: verificare la proprietà del dominio

Nota

Esistono 3 tipi di verifica del dominio supportati da Certificati del servizio app: Domain, Mail, Manual Verification. Sono illustrati più dettagliatamente nella sezione Avanzate.

Dallo stesso pannello configurazione certificato utilizzato nel passaggio 3, fare clic su Passaggio 2: verificare.

La verifica del dominio è il processo più semplice SOLO IN CASO DIacquisto del dominio personalizzato dal Servizio app di Azure. Fare clic sul pulsante Verifica per completare questo passaggio.

inserimento immagine della verifica del dominio

Dopo aver fatto clic su Verifica, utilizzare il pulsante Aggiorna fino a quando l'opzione Verifica non avrà esito positivo.

inserimento immagine per la riuscita della verifica in un Key Vault

Passaggio 5: Assegnare il certificato all'app del servizio app

Nota

Prima di eseguire la procedura inclusa in questa sezione, è necessario avere associato un nome di dominio personalizzato all'app. Per altre informazioni, vedere Configurare un nome di dominio personalizzato nel servizio app di Azure.

Nel portale di Azure fare clic sull'opzione Servizio app a sinistra nella pagina.

Fare clic sul nome dell'app a cui si desidera assegnare il certificato.

In Impostazioni fare clic su Certificati SSL.

Fare clic su Importa il certificato di servizio app e selezionare il certificato appena acquistato.

inserimento immagine dell'importazione del certificato

Nella sezione associazione SSL fare clic su Aggiungi associazioni e usare gli elenchi a discesa per selezionare il nome di dominio da proteggere con SSL e il certificato da usare. È possibile anche stabilire se usare il metodo SSL basato su Indicazione nome server (SNI) o su IP.

inserimento immagine di associazioni SSL

Fare clic su Aggiungi l'associazione per salvare le modifiche e abilitare SSL.

Nota

Se è stata selezionata l'opzione SSL basato su IP e il dominio personalizzato è stato configurato usando un record A, sarà necessario eseguire i passaggi aggiuntivi seguenti. Sono illustrati più dettagliatamente nella sezione Avanzata.

A questo punto si dovrebbe poter andare all'app usando HTTPS:// anziché HTTP:// per verificare che il certificato sia stato configurato correttamente.

Passaggio 6: attività di gestione

Interfaccia della riga di comando di Azure

#!/bin/bash

fqdn=<replace-with-www.{yourdomain}>
pfxPath=<replace-with-path-to-your-.PFX-file>
pfxPassword=<replace-with-your=.PFX-password>
webappname=mywebapp$RANDOM

# Create a resource group.
az group create --location westeurope --name myResourceGroup

# Create an App Service plan in Basic tier (minimum required by custom domains).
az appservice plan create --name $webappname --resource-group myResourceGroup --sku B1

# Create a web app.
az webapp create --name $webappname --resource-group myResourceGroup \
--plan $webappname

echo "Configure a CNAME record that maps $fqdn to $webappname.azurewebsites.net"
read -p "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.

# Map your prepared custom domain name to the web app.
az webapp config hostname add --webapp-name $webappname --resource-group myResourceGroup \
--hostname $fqdn

# Upload the SSL certificate and get the thumbprint.
thumprint=$(az webapp config ssl upload --certificate-file $pfxPath \
--certificate-password $pfxPassword --name $webappname --resource-group myResourceGroup \
--query thumbprint --output tsv)

# Binds the uploaded SSL certificate to the web app.
az webapp config ssl bind --certificate-thumbprint $thumbprint --ssl-type SNI \
--name $webappname --resource-group myResourceGroup

echo "You can now browse to https://$fqdn"

PowerShell

$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

Avanzate

Verifica della la proprietà del dominio

Esistono altri due tipi di verifica del dominio supportati da Certificati del servizio app: Mail e Manual Verification.

Verifica tramite posta elettronica

Un messaggio di posta elettronica di verifica è già stato inviato agli indirizzi di posta elettronica associati al dominio personalizzato. Per completare il passaggio di verifica tramite posta elettronica, aprire la posta elettronica e fare clic sul collegamento di verifica.

inserimento immagine della verifica dell'indirizzo di posta elettronica

Se è necessario un nuovo invio del messaggio di verifica, fare clic sul pulsante Invia di nuovo il messaggio di posta elettronica.

Verifica manuale

Importante

Verifica della pagina Web HTML (funziona solo con lo SKU del certificato standard)

  1. Creare un file HTML denominato "starfield.html"

  2. Il contenuto di questo file deve corrispondere esattamente al nome del token di verifica del dominio. È possibile copiare il token dal pannello dello Stato di verifica del dominio.

  3. Caricare il file nella radice del server Web che ospita il dominio /.well-known/pki-validation/starfield.html

  4. Fare clic su Aggiorna per aggiornare lo stato del certificato dopo aver completato la verifica. Il completamento della verifica potrebbe richiedere qualche minuto.

Suggerimento

Verificare in un terminale mediante curl -G http://<domain>/.well-known/pki-validation/starfield.html la risposta deve contenere il <verification-token>.

Verifica del record TXT DNS

  1. Usando il gestore DNS, creare un record TXT nel sottodominio @ con valore uguale al token di verifica del dominio.
  2. Fare clic su "Aggiorna" per aggiornare lo stato del certificato dopo aver completato la verifica.
Suggerimento

È necessario creare un record TXT su @.<domain> con valore <verification-token>.

Assegnare il certificato all'app del servizio app

Se è stata selezionata l'opzione SSL basato su IP e il dominio personalizzato è stato configurato usando un record A, sarà necessario eseguire i passaggi aggiuntivi seguenti:

Dopo la configurazione di un'associazione SSL basata su IP, un indirizzo IP dedicato viene assegnato all'app. È possibile trovare questo indirizzo IP nella pagina Dominio personalizzato nelle impostazioni dell'app, proprio sotto la sezione Nomi host. È elencato come Indirizzo IP esterno

inserimento immagine di IP SSL

Si noti che questo indirizzo IP è diverso rispetto all'indirizzo IP virtuale utilizzato in precedenza per la configurazione del record A per il dominio. Se è stato impostato l'uso del metodo SSL basato su SNI o se non è stato impostato l'uso del metodo SSL, per questa voce non è elencato alcun indirizzo.

Usando gli strumenti forniti dal registrar, modificare il record A per il nome di dominio personalizzato, in modo che faccia riferimento all'indirizzo IP riportato nel passaggio precedente.

Reimpostare e sincronizzare il certificato

Sarà possibile reimpostare il certificato selezionando l'opzione "Reimposta e sincronizza" nel pannello "Proprietà del certificato".

Fare clic sul pulsante Reimposta per avviare il processo. Questo processo può richiedere da 1 a 10 minuti.

inserimento immagine della reimpostazione SSL

Con la reimpostazione viene emesso un nuovo certificato da parte dell'autorità di certificazione.

Passaggi successivi