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.
Considerazioni sul collegamento privato di 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:
Passare all'istanza di Key Vault.
Nel riquadro di spostamento selezionare Certificati.
Nel menu in alto selezionare Genera/importa.
Nella pagina Crea un certificato selezionare Importa per Metodo di creazione del certificato e quindi specificare un valore per Nome certificato.
In Carica il file di certificato passare alla posizione del certificato e selezionarlo.
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.
Seleziona Crea.
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:
Passare all'istanza di Key Vault.
Nel riquadro di spostamento selezionare Criteri di accesso.
Nel menu in alto selezionare Crea.
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".
Importare un certificato in Azure Spring Apps
Per importare un certificato, seguire questa procedura:
Passare all'istanza di Azure Spring Apps.
Nel riquadro di spostamento selezionare Impostazioni TLS/SSL.
Selezionare Importa certificato dell'insieme di credenziali delle chiavi.
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.
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.
Dopo aver importato correttamente il certificato, viene visualizzato nell'elenco dei certificati di 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:
- App
- Dominio personalizzato
- VMware Spring Cloud Gateway
- Dominio personalizzato
- Portale API per VMware Tanzu
- Dominio personalizzato
- Acceleratore di applicazioni VMware Tanzu
- Connessione a un repository Git con un certificato autofirmato.
- Servizio di configurazione dell'applicazione per Tanzu
- Connessione a un repository Git con un certificato autofirmato.
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:
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:
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:
Passare alla pagina dell'applicazione.
Selezionare Dominio personalizzato.
Selezionare Aggiungi dominio personalizzato.
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
.Selezionare Convalida per abilitare il pulsante Aggiungi.
Selezionare Aggiungi.
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.
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:
Nella tabella del dominio personalizzato selezionare Aggiungi l'associazione SSL, come illustrato nella figura precedente.
Selezionare il certificato o importarlo.
Seleziona Salva.
Dopo aver aggiunto correttamente l'associazione SSL, lo stato del dominio è sicuro: 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
.
Al termine dell'operazione, passare a uno degli URL HTTPS che puntano all'app. Si noti che gli URL HTTP non funzionano.