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.

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 è disponibile, è possibile creare una zona DNS, quindi delegare il dominio a DNS di Azure.

Nota

In questa esercitazione viene usato contoso.com 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 contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. Screenshot che mostra un esempio di Prova per Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Pulsante per avviare Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot che mostra il pulsante Cloud Shell nel portale di Azure

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) 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 o 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 Servizi app nel portale di Azure selezionare Domini personalizzati, quindi copiare l'indirizzo IP dell'app Web:

Screenshot della pagina Domini personalizzati del servizio app di Azure che mostra l'indirizzo IP dell'applicazione Web.

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 la delega del dominio DNS), è possibile usare l'esempio seguente per creare un record CNAME per contoso.azurewebsites.net. Il record 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

A questo punto, è 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 dell'applicazione Web del servizio app di Azure contoso a cui si accede tramite 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 del 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: