Condividi tramite


Eseguire il mapping di un dominio personalizzato esistente ad Azure Spring Apps

Nota

I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.

Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.

Questo articolo si applica a: ✔️ Java ✔️ C#

Questo articolo si applica a: ✔️ Standard ✔️ Enterprise

DNS (Domain Name Service) è una tecnica per l'archiviazione dei nomi dei nodi di un'intera rete. Questo articolo esegue il mapping di un dominio, ad esempio www.contoso.com, usando un record CNAME. Il dominio personalizzato viene protetto con un certificato e viene applicato il certificato TLS (Transport Layer Security), anche noto come SSL (Secure Sockets Layer).

I certificati crittografano il traffico Web. Questi certificati TLS/SSL possono essere archiviati in Azure Key Vault.

Prerequisiti

  • Una sottoscrizione di Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.
  • (Facoltativo) Interfaccia della riga di comando di Azure versione 2.45.0 o successiva. Usare il comando seguente per installare l'estensione Azure Spring Apps: az extension add --name spring
  • Un'applicazione distribuita in Azure Spring Apps (vedere Avvio rapido: Avviare un'applicazione esistente in Azure Spring Apps usando il portale di Azure o usare un'app esistente). Se l'applicazione viene distribuita usando il piano Basic, assicurarsi di eseguire l'aggiornamento al piano Standard.
  • Nome di dominio con accesso al registro DNS per un provider di dominio, ad esempio GoDaddy.
  • Un certificato privato (ossia il certificato autofirmato) da un provider di terze parti. Il certificato deve corrispondere al dominio.
  • Istanza distribuita di Azure Key Vault. Per altre informazioni, vedere Informazioni su Azure Key Vault.

Gli indirizzi IP per la gestione di Azure Spring Apps non fanno ancora parte dell'servizi Microsoft attendibile di Azure. Per consentire ad Azure Spring Apps di caricare i certificati da un insieme di credenziali delle chiavi protetto con connessioni endpoint private, è quindi necessario aggiungere gli indirizzi IP seguenti al firewall di Azure Key Vault:

  • 20.99.204.111
  • 20.201.9.97
  • 20.74.97.5
  • 52.235.25.35
  • 20.194.10.0
  • 20.59.204.46
  • 104.214.186.86
  • 52.153.221.222
  • 52.160.137.39
  • 20.39.142.56
  • 20.199.190.222
  • 20.79.64.6
  • 20.211.128.96
  • 52.149.104.144
  • 20.197.121.209
  • 40.119.175.77
  • 20.108.108.22
  • 102.133.143.38
  • 52.226.244.150
  • 20.84.171.169
  • 20.93.48.108
  • 20.75.4.46
  • 20.78.29.213
  • 20.106.86.34
  • 20.193.151.132

Importare il certificato

Preparare il file del certificato in formato PFX (facoltativo)

Azure Key Vault supporta l'importazione di un certificato privato in formato PEM e PFX. Se il file PEM ottenuto dal provider di certificati non funziona nella sezione Salva certificato in Key Vault , seguire questa procedura per generare un file PFX per Azure Key Vault.

Unire i certificati intermedi

Se l'autorità di certificazione offre più certificati nella catena di certificati, è necessario unire i certificati nell'ordine.

Per eseguire questa attività, aprire ogni certificato ricevuto in un editor di testo.

Creare un file per il certificato unito denominato mergedcertificate.crt. In un editor di testo copiare il contenuto di ogni certificato nel file. L'ordine dei certificati deve corrispondere all'ordine nella catena di certificati, che inizia con il certificato dell'utente e termina con il certificato radice. Sarà simile a quanto indicato nell'esempio seguente:

-----BEGIN CERTIFICATE-----
<your entire Base64 encoded SSL certificate>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 1>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 2>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded root certificate>
-----END CERTIFICATE-----

Esportare il certificato in un file PFX

Esportare il certificato TLS/SSL unito con la chiave privata con cui è stata generata la richiesta del certificato.

Se è stato usato OpenSSL per generare la richiesta del certificato, è stato creato un file di chiave privata. Per esportare il certificato in un file PFX, eseguire il comando seguente. Sostituire i segnaposto private-key-file e< merge-certificate-file>> con i percorsi della chiave privata e il file di certificato unito.<

openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>

Quando richiesto, definire una password di esportazione. Usare questa password quando si carica il certificato TLS/SSL in Azure Key Vault in un secondo momento.

se è stato usato IIS o Certreq.exe per generare la richiesta di certificato, installare il certificato nel computer locale e quindi esportarlo in un file PFX.

Salvare il certificato in Key Vault

Per importare un certificato, è necessario che il file con codifica PEM o PFX sia presente nel disco ed è necessario avere la chiave privata.

Usare la procedura seguente per caricare il certificato nell'insieme di credenziali delle chiavi:

  1. Passare all'istanza di Key Vault.

  2. Nel riquadro di spostamento selezionare Certificati.

  3. Nel menu in alto selezionare Genera/importa.

  4. Nella pagina Crea un certificato selezionare Importa per Metodo di creazione del certificato e quindi specificare un valore per Nome certificato.

  5. In Carica il file di certificato passare alla posizione del certificato e selezionarlo.

  6. In Password, se si carica un file di certificato protetto da password, specificare la password qui. In caso contrario, lasciare il campo vuoto. Dopo aver importato correttamente il file del certificato, l'insieme di credenziali delle chiavi rimuove la password.

  7. Seleziona Crea.

    Screenshot della finestra di dialogo Crea un certificato portale di Azure.

Concedere ad Azure Spring Apps l'accesso all'insieme di credenziali delle chiavi

È necessario concedere ad Azure Spring Apps l'accesso all'insieme di credenziali delle chiavi prima di importare il certificato.

Usare la procedura seguente per concedere l'accesso usando il portale di Azure:

  1. Passare all'istanza di Key Vault.

  2. Nel riquadro di spostamento selezionare Criteri di accesso.

  3. Nel menu in alto selezionare Crea.

  4. Compilare le informazioni e selezionare il pulsante Aggiungi , quindi Crea criteri di accesso.

    Autorizzazione per il segreto Autorizzazione del certificato Selezionare un'entità
    Ottieni, Elenca Ottieni, Elenca Azure Spring Apps Domain-Management

    Nota

    Se non si trova "Azure Spring Apps Domain-Management", cercare "Azure Spring Cloud Domain-Management".

    Screenshot della pagina Aggiungi criteri di accesso portale di Azure con l'opzione Get ed List selezionata in Autorizzazioni segrete e da Autorizzazioni certificato.

    Screenshot della pagina crea criteri di accesso portale di Azure con la gestione del dominio di Azure Spring Apps selezionata nell'elenco a discesa Selezionare un'entità.

Importare un certificato in Azure Spring Apps

Per importare un certificato, seguire questa procedura:

  1. Passare all'istanza di Azure Spring Apps.

  2. Nel riquadro di spostamento selezionare Impostazioni TLS/SSL.

  3. Selezionare Importa certificato dell'insieme di credenziali delle chiavi.

    Screenshot della portale di Azure che mostra la pagina delle impostazioni TLS/SSL con il pulsante Importa certificato dell'insieme di credenziali delle chiavi evidenziato.

  4. Nella pagina Seleziona certificato da Azure selezionare le opzioni Sottoscrizione, Insieme di credenziali delle chiavi e Certificato nell'elenco a discesa e quindi scegliere Seleziona.

    Screenshot del portale di Azure che mostra la pagina Seleziona certificato da Azure.

  5. Nella pagina Set certificate name (Imposta nome certificato) aperta immettere il nome del certificato, selezionare Abilita sincronizzazione automatica, se necessario, quindi selezionare Applica. Per altre informazioni, vedere la sezione Certificato di sincronizzazione automatica.

    Screenshot della finestra di dialogo Imposta nome certificato portale di Azure.

  6. Dopo aver importato correttamente il certificato, viene visualizzato nell'elenco dei certificati di chiave privata.

    Screenshot della portale di Azure che mostra la scheda Certificati chiave privata.

Importante

Per proteggere un dominio personalizzato con questo certificato, assicurarsi di associare il certificato al dominio specifico. Per altre informazioni, vedere la sezione Aggiungere l'associazione SSL.

Certificato di sincronizzazione automatica

Un certificato archiviato in Azure Key Vault a volte viene rinnovato prima della scadenza. Analogamente, i criteri di sicurezza dell'organizzazione per la gestione dei certificati potrebbero richiedere al team DevOps di sostituire regolarmente i certificati con quelli nuovi. Dopo aver abilitato la sincronizzazione automatica per un certificato, Azure Spring Apps inizia a sincronizzare regolarmente l'insieme di credenziali delle chiavi per una nuova versione, in genere ogni 24 ore. Se è disponibile una nuova versione, Azure Spring Apps lo importa e quindi lo ricarica per vari componenti usando il certificato senza causare tempi di inattività. L'elenco seguente mostra i componenti interessati e gli scenari pertinenti:

Quando Azure Spring Apps importa o ricarica un certificato, viene generato un log attività. Per visualizzare i log attività, passare all'istanza di Azure Spring Apps nel portale di Azure e selezionare Log attività nel riquadro di spostamento.

Nota

La funzionalità di sincronizzazione automatica dei certificati funziona con certificati privati e certificati pubblici importati da Azure Key Vault. Questa funzionalità non è disponibile per i certificati di contenuto caricati dal cliente.

È possibile abilitare o disabilitare la funzionalità di sincronizzazione automatica dei certificati quando si importa un certificato dall'insieme di credenziali delle chiavi in Azure Spring Apps. Per altre informazioni, vedere la sezione Importare un certificato in Azure Spring Apps .

È anche possibile abilitare o disabilitare questa funzionalità per un certificato già importato in Azure Spring Apps.

Usare la procedura seguente per abilitare o disabilitare la sincronizzazione automatica per un certificato importato:

  1. Passare all'elenco dei certificati di chiave privata o dei certificati a chiave pubblica.

  2. Selezionare il pulsante con i puntini di sospensione (...) dopo la colonna Sincronizzazione automatica e quindi selezionare Abilita sincronizzazione automatica o Disabilita sincronizzazione automatica.

    Screenshot del portale di Azure che mostra un elenco di certificati con il menu con i puntini di sospensione aperto e l'opzione Abilita sincronizzazione automatica selezionata.

Aggiungere il dominio personalizzato

È possibile usare un record CNAME per eseguire il mapping di un nome DNS personalizzato ad Azure Spring Apps.

Nota

Il record A non è supportato.

Creazione di un record CNAME

Passare al provider DNS e aggiungere un record CNAME per eseguire il mapping del dominio a <service-name>.azuremicroservices.io. <service-name> Ecco il nome dell'istanza di Azure Spring Apps. Sono supportati il dominio e il sottodominio con caratteri jolly.

Dopo aver aggiunto il CNAME, la pagina dei record DNS è simile all'esempio seguente:

Screenshot della pagina dei record DNS che mostra l'istanza di Azure Spring Apps.

Eseguire il mapping del dominio personalizzato all'app Azure Spring Apps

Se non si ha un'applicazione in Azure Spring Apps, seguire le istruzioni riportate in Avvio rapido: Distribuire la prima applicazione in Azure Spring Apps.

Usare la procedura seguente per associare un dominio personalizzato all'app:

  1. Passare alla pagina dell'applicazione.

  2. Selezionare Dominio personalizzato.

  3. Selezionare Aggiungi dominio personalizzato.

    Screenshot del portale di Azure che mostra la pagina Dominio personalizzato.

  4. Digitare il nome di dominio completo per il quale è stato aggiunto un record CNAME, ad esempio www.contoso.com. Assicurarsi che il tipo di record Hostname sia impostato su CNAME - <service-name>.azuremicroservices.io.

  5. Selezionare Convalida per abilitare il pulsante Aggiungi.

  6. Selezionare Aggiungi.

    Screenshot della finestra di dialogo Aggiungi dominio personalizzato portale di Azure.

Un'app può avere più domini, mentre un dominio può essere mappato solo a un'app. Quando il dominio personalizzato è stato mappato correttamente all'app, viene visualizzato nella tabella del dominio personalizzato.

Screenshot della portale di Azure che mostra una tabella di dominio personalizzata.

Nota

Se è presente un'etichetta Non sicuro, significa che il dominio personalizzato non è ancora associato a un certificato SSL. Qualsiasi richiesta HTTPS da un browser al dominio personalizzato riceve un errore o un avviso.

Aggiungere il binding SSL

Usare la procedura seguente per aggiornare un dominio personalizzato dell'app:

  1. Nella tabella del dominio personalizzato selezionare Aggiungi l'associazione SSL, come illustrato nella figura precedente.

  2. Selezionare il certificato o importarlo.

  3. Seleziona Salva.

    Screenshot del portale di Azure che mostra il riquadro di associazione TLS/SSL.

Dopo aver aggiunto correttamente l'associazione SSL, lo stato del dominio è sicuro: Integro.

Screenshot di un'associazione SSL che mostra lo stato del dominio Integro.

Applicare HTTPS

Per impostazione predefinita, chiunque può comunque accedere all'app tramite HTTP, ma è possibile reindirizzare tutte le richieste HTTP alla porta HTTPS.

Nella pagina dell'app selezionare Dominio personalizzato nel riquadro di spostamento. Impostare quindi solo HTTPS su Yes.

Screenshot di un'associazione SSL con l'opzione Solo HTTPS evidenziata.

Al termine dell'operazione, passare a uno degli URL HTTPS che puntano all'app. Si noti che gli URL HTTP non funzionano.

Passaggi successivi