Esercitazione: Creare record DNS in un dominio personalizzato per un'app Web

È possibile configurare DNS di Azure per ospitare un dominio personalizzato per le app Web. Ad esempio, è possibile creare un'app Web di Azure e consentire agli utenti di accedervi usando www.contoso.com o contoso.com come nome di dominio completo (FQDN).

A tale scopo, è necessario creare tre record:

  • Un record radice "A" che fa riferimento a contoso.com
  • Un record "TXT" radice per la verifica
  • Un record "CNAME" per il nome www che punta al record A

In questa esercitazione apprenderai a:

  • Creare un record A e TXT per il dominio personalizzato
  • Creare un record CNAME per il dominio personalizzato
  • Testare i nuovi record
  • Aggiungere nomi host personalizzati all'app Web
  • Testare i nomi host personalizzati

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva.

  • Nome di dominio che è possibile ospitare in DNS di Azure. È necessario disporre del controllo completo di questo dominio, inclusa la possibilità di impostare i record di nome server (NS) per il dominio.

  • Un'app Web. Se non è disponibile, è possibile creare un'app Web HTML statica per questa esercitazione.

  • Una zona DNS di Azure con delega nel registrar in DNS di Azure. Se non ne è disponibile uno, è possibile creare una zona DNS, quindi delegare il dominio a DNS di Azure.

Nota

In questa esercitazione contoso.com viene usato come nome di dominio di esempio. Sostituire contoso.com con il proprio nome di dominio.

Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare INVIO per eseguire il codice o il comando.

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.

Accedere ad Azure

Accedere al portale di Azure.

Creazione di un record A

Un record A viene usato per eseguire il mapping di un nome al relativo indirizzo IP. Nell'esempio seguente assegnare "@" come record A a un indirizzo IPv4 dell'app Web. @ in genere rappresenta il dominio radice.

Ottenere l'indirizzo IPv4

Nel riquadro di spostamento sinistro della pagina servizio app nel portale di Azure selezionare Domini personalizzati e quindi copiare l'indirizzo IP dell'app Web:

Screenshot of Azure App Service Custom domains page showing the web app I P address.

Creare il record

Per creare il record A, usare:

New-AzDnsRecordSet -Name "@" -RecordType "A" -ZoneName "contoso.com" `
 -ResourceGroupName "MyAzureResourceGroup" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "<ip of web app service>")

Importante

Il record A deve essere aggiornato manualmente se l'indirizzo IP sottostante per l'app Web cambia.

Creare il record TXT

Servizi app usa questo record solo in fase di configurazione per verificare che si sia i proprietari del dominio personalizzato. Dopo che il dominio personalizzato è stato convalidato e configurato nel servizio app, è possibile eliminare il record TXT.

Nota

Se si vuole verificare il nome di dominio senza indirizzare il traffico di produzione all'app Web, è sufficiente specificare il record TXT per il passaggio della verifica. La verifica non richiede un record A o CNAME oltre al record TXT.

Per creare il record TXT, usare:

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName MyAzureResourceGroup `
 -Name "@" -RecordType "txt" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -Value  "contoso.azurewebsites.net")

Creazione di un record CNAME

Se il dominio è già gestito da DNS di Azure (vedere delega del dominio DNS), è possibile usare l'esempio seguente per creare un record CNAME per contoso.azurewebsites.net. Il CNAME creato in questo esempio ha una durata di 600 secondi nella zona DNS denominata "contoso.com" con l'alias per l'app Web contoso.azurewebsites.net.

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName "MyAzureResourceGroup" `
 -Name "www" -RecordType "CNAME" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -cname "contoso.azurewebsites.net")

L'esempio seguente corrisponde alla risposta:

    Name              : www
    ZoneName          : contoso.com
    ResourceGroupName : myazureresourcegroup
    Ttl               : 600
    Etag              : 8baceeb9-4c2c-4608-a22c-229923ee185
    RecordType        : CNAME
    Records           : {contoso.azurewebsites.net}
    Tags              : {}

Testare i nuovi record

È possibile verificare che i record siano stati creati correttamente eseguendo una query di "www.contoso.com" e "contoso.com" con nslookup, come mostrato di seguito:

PS C:\> nslookup
Default Server:  Default
Address:  192.168.0.1

> www.contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    <instance of web app service>.cloudapp.net
Address:  <ip of web app service>
Aliases:  www.contoso.com
contoso.azurewebsites.net
<instance of web app service>.vip.azurewebsites.windows.net

> contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    contoso.com
Address:  <ip of web app service>

> set type=txt
> contoso.com

Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
contoso.com text =

        "contoso.azurewebsites.net"

Aggiungere i nomi host personalizzati

È ora possibile aggiungere i nomi host personalizzati all'app Web:

set-AzWebApp `
 -Name contoso `
 -ResourceGroupName <your web app resource group> `
 -HostNames @("contoso.com","www.contoso.com","contoso.azurewebsites.net")

Testare i nomi host personalizzati

Aprire un browser e passare a http://www.<your domain name> e http://<you domain name>.

Nota

Assicurarsi di includere il prefisso http://. In caso contrario, il browser potrebbe tentare di prevedere automaticamente un URL.

Dovrebbe essere visualizzata la stessa pagina per entrambi gli URL. Ad esempio:

Screenshot of the contoso Azure App Service Web App accessed via web browser.

Pulire le risorse

Quando non sono più necessarie, è possibile eliminare tutte le risorse create in questa esercitazione eliminando il gruppo di risorse MyAzureResourceGroup:

  1. Nel menu portale di Azure selezionare Gruppi di risorse.
  2. Selezionare il gruppo di risorse MyAzureResourceGroup .
  3. Nella pagina Panoramica selezionare Elimina gruppo di risorse.
  4. Immettere MyAzureResourceGroup e selezionare Elimina.

Passaggi successivi

In questa esercitazione si è appreso come creare record DNS in un dominio personalizzato per un'app Web. Per informazioni su come creare record alias per fare riferimento ai record di zona, continuare con l'esercitazione successiva: