Mapping di domini personalizzati

Puoi utilizzare un dominio personalizzato anziché l'indirizzo predefinito fornito da App Engine per la tua app.

Per utilizzare un dominio personalizzato, mappalo alla tua app e poi aggiorna i record DNS. Puoi mappare un dominio senza nome, ad esempio example.com, o un sottodominio, ad esempio subdomain.example.com. Puoi anche utilizzare i caratteri jolly per mappare i sottodomini.

Per impostazione predefinita, quando mappi un dominio alla tua app, App Engine rilascia un certificato gestito per SSL per le connessioni HTTPS. Per ulteriori informazioni sull'utilizzo di SSL con il tuo dominio personalizzato, inclusa la modalità di utilizzo dei tuoi certificati SSL, consulta Protezione dei domini personalizzati con SSL.

L'utilizzo di domini personalizzati potrebbe aggiungere una latenza significativa alle risposte inviate da App Engine agli utenti della tua app in alcune regioni. Le regioni sono le seguenti:

  • us-west2
  • us-east4
  • northamerica-northeast1
  • southamerica-east1
  • europe-west2
  • europe-west3
  • asia-south1
  • asia-northeast1
  • australia-southeast1

I domini personalizzati di App Engine utilizzano un pool di indirizzi IP condivisi per tutte le applicazioni. Se vuoi utilizzare un indirizzo IP che si mappa solo al tuo dominio, devi invece configurare un bilanciatore del carico con App Engine. In questo modo è possibile attenuare un problema di fronting del dominio in cui una richiesta all'applicazione A nel certificato SNI può essere indirizzata all'applicazione B nell'intestazione Host HTTP.

Prima di iniziare

  • Se non hai un dominio, acquistane uno. Puoi utilizzare qualsiasi registrar di nomi di dominio.

  • Per aggiungere o modificare una mappatura dei domini personalizzata, il tuo account deve disporre del ruolo Amministratore App Engine (roles/appengine.appAdmin) o di un ruolo personalizzato che contenga l'autorizzazione appengine.applications.get.

  • Se utilizzi il bilanciamento del carico di Cloud e il gruppo di endpoint di rete serverless (NEGS) per instradare il traffico alla tua app App Engine, ti consigliamo di mappare il tuo dominio personalizzato al bilanciatore del carico anziché direttamente alla tua app e di utilizzare i certificati SSL gestiti da Google creati per il bilanciatore del carico. In questo modo, viene eliminata la necessità di gestire certificati SSL separati per ogni app serverless. Con Cloud Load Balancing, puoi impostare criteri SSL che controllano le funzionalità di SSL che il bilanciatore del carico negozia con i client.

    Per ulteriori informazioni, consulta le seguenti pagine:

    Tieni presente la seguente limitazione:

    • Ti consigliamo di utilizzare i controlli di immissione in modo che la tua app riceva solo le richieste inviate dal bilanciatore del carico (e dalla VPC, se la utilizzi). In caso contrario, gli utenti possono utilizzare l'URL App Engine della tua app per bypassare il bilanciatore del carico, i criteri di sicurezza di Google Cloud Armor, i certificati SSL e le chiavi private trasmessi tramite il bilanciatore del carico.

Mappatura di un dominio personalizzato alla tua app

  1. Nella console Google Cloud, vai alla scheda Impostazioni applicazione della pagina Impostazioni di App Engine.

    Vai a Impostazioni applicazione

    Se non devi modificare il referrer predefinito dell'API Account Google, passa al passaggio successivo.

    Se devi attivare l'autenticazione di Google Workspace per il tuo dominio personalizzato, fai clic su Modifica per modificare il referrer dell'API Account Google. Nel menu a discesa Autenticazione Google, seleziona Dominio Google Workspace, quindi aggiungi il tuo dominio, ad esempio example.com, nel campo vuoto.

  2. Nella console Google Cloud, vai alla scheda Domini personalizzati della pagina Impostazioni di App Engine.

    Vai a Domini personalizzati

  3. Fai clic su Aggiungi un dominio personalizzato.

  4. Se il tuo dominio è già verificato, viene visualizzato nella sezione Seleziona il dominio da utilizzare. Seleziona il dominio dal menu a discesa e fai clic su Continua.

    Se non hai ancora verificato il tuo dominio, procedi nel seguente modo:

    1. Seleziona Verifica un nuovo dominio dal menu a discesa.
    2. Inserisci il nome di dominio senza www (ad esempio "example.com") e fai clic su Verifica.

      Anche se vuoi mappare solo un sottodominio, ad esempio "www.subdomain.example.com", inserisci il nome di dominio senza componenti aggiuntivi per verificare la proprietà.

      Tieni presente che i nomi di dominio devono essere inferiori a 64 byte.

    3. Inserisci le informazioni nella finestra Search Console visualizzata. Per assistenza sull'utilizzo di Search Console, consulta la guida di Search Console.

    4. Dopo aver completato i passaggi in Search Console, torna alla pagina Aggiungi un nuovo dominio personalizzato nella console Google Cloud.

  5. Nella sezione Punta il dominio a [ID progetto], specifica il dominio e i sottodomini che vuoi mappare.

    Ti consigliamo di mappare il dominio senza nome e il sottodominio www. Se necessario, puoi aggiungere altri sottodomini.

    Dopo aver aggiunto tutte le mappature desiderate, fai clic su Salva mapping.

  6. Fai clic su Continua per visualizzare i record DNS del tuo dominio.

    Puoi recuperare questi record in qualsiasi momento nella scheda Domini personalizzati della pagina Impostazioni di App Engine.

  7. Accedi al sito web del tuo registrar di domini e aggiorna i record DNS con quelli visualizzati nel passaggio precedente.

Aggiornamento dei record DNS presso il registrar del dominio

Dopo aver mappato il servizio a un dominio personalizzato in App Engine, devi aggiornare i record DNS nel registrar del dominio. Per comodità, App Engine genera e mostra i record DNS che devi inserire.

  1. Recupera le informazioni del record DNS per le mappature del dominio:

    Nella console Google Cloud, vai alla scheda Domini personalizzati della pagina Impostazioni di App Engine. La pagina elenca i record DNS per tutti i domini che hai mappato alla tua app.

  2. Accedi al tuo account presso il registrar del dominio e apri la pagina di configurazione DNS.

  3. Individua la sezione dei record host della pagina di configurazione del tuo dominio e aggiungi ciascuno dei record DNS che hai recuperato quando hai mappato il tuo dominio alla tua app.

    Inserisci le seguenti informazioni nei campi del record:

    • Tipo di record: inserisci il tipo di record visualizzato nel record DNS creato da Google per te (A, AAAA o CNAME).
    • Nome del record:

      • Nei record A o AAAA, inserisci @
      • Nei record CNAME, inserisci un nome di dominio di terzo livello. Ad esempio, inserisci www per mappare il sottodominio www.example.com.
    • Tieni presente che se utilizzi Cloud DNS, non è necessario aggiungere un simbolo @ quando crei un record A per il dominio personalizzato principale (example.com). Tuttavia, potrebbe essere necessario specificare un simbolo @ per altri provider DNS come GoDaddy.

    • TTL: specifica un TTL in base alle tue esigenze.

    • Dati: inserisci i dati del record (rrdata) visualizzati nel record DNS creato da Google per te.

      • Nei record A o AAAA, i dati del record sono un indirizzo IP
      • Nei record CNAME, i dati del record sono un nome di dominio
  4. Salva le modifiche nella pagina di configurazione DNS dell'account del tuo dominio. Nella maggior parte dei casi, queste modifiche vengono applicate in pochi minuti, ma in alcuni casi possono essere necessarie fino a diverse ore, a seconda del registrar e del valore TTL (Time To Live) di eventuali record DNS precedenti per il tuo dominio. Puoi utilizzare uno strumento dig, ad esempio questa versione online di dig, per confermare che i record DNS siano stati aggiornati correttamente.

  5. Verifica che l'operazione sia andata a buon fine visitando il servizio al suo nuovo URL, ad esempio https://www.example.com. Tieni presente che l'emissione del certificato SSL automatico può richiedere diversi minuti.

Delega della proprietà ad altri utenti o account di servizio Google Cloud

Se devi delegare la proprietà del tuo dominio ad altri utenti o account di servizio, puoi aggiungere l'autorizzazione tramite la pagina Search Console. Per visualizzare un elenco di account di servizio, apri la pagina Account di servizio nella console Google Cloud.

Per aggiungere autorizzazioni tramite Search Console:

  1. Apri la verifica di Search Console.

  2. In Proprietà, fai clic sul dominio per cui vuoi aggiungere un account utente o di servizio.

  3. Vai a Impostazioni dal riquadro laterale.

  4. In Impostazioni generali, fai clic su Utenti e autorizzazioni per trovare i proprietari del tuo dominio.

  5. Fai clic su Aggiungi utente e inserisci l'ID indirizzo email dell'utente. Seleziona l'autorizzazione richiesta da concedere all'utente. Per maggiori dettagli sulle autorizzazioni, vedi Gestire proprietari, utenti e autorizzazioni.

  6. Fai clic su Aggiungi per delegare la proprietà all'utente.

Utilizzo dei sottodomini

Se configuri una mappatura dei sottodomini con caratteri jolly per il tuo dominio personalizzato, la tua applicazione gestisce le richieste per qualsiasi sottodominio corrispondente.

  • Se l'utente visita un dominio che corrisponde al nome di una versione dell'applicazione o al nome di un servizio, l'applicazione serve quella versione.
  • Se l'utente visita un dominio che corrisponde al nome di un servizio, l'applicazione lo fornisce.
  • Esiste un limite di 20 certificati SSL gestiti a settimana per ogni dominio di base. Se raggiungi il limite, App Engine continua a tentare di emettere certificati gestiti finché non sono state soddisfatte tutte le richieste.

Mappature con caratteri jolly

Puoi utilizzare i caratteri jolly per mappare i sottodomini a qualsiasi livello, a partire dai sottodomini di terzo livello. Ad esempio, se il tuo dominio è example.com e inserisci del testo nel campo dell'indirizzo web:

  • Se inserisci *.example.com, tutti i sottodomini di example.com vengono mappati alla tua app.
  • Se inserisci *.private.example.com, tutti i sottodomini di private.example.com vengono mappati alla tua app.
  • Se inserisci *.nichol.sharks.nhl.example.com, tutti i sottodomini di nichol.sharks.nhl.example.com vengono mappati alla tua app.
  • Se inserisci *.excogitate.system.example.com, tutti i sottodomini di excogitate.system.example.com vengono mappati alla tua app.

Puoi utilizzare le mappature con caratteri jolly con i servizi in App Engine utilizzando il file dispatch.yaml per definire l'instradamento delle richieste a servizi specifici.

Se utilizzi Google Workspace con altri sottodomini nel tuo dominio, ad esempio sites e mail, queste mappature hanno una priorità più elevata e vengono associate per prime, prima che venga eseguita qualsiasi mappatura jolly. Inoltre, se hai altre app App Engine mappate ad altri sottodomini, anche questi mappamenti hanno una priorità più alta rispetto a qualsiasi mappatura jolly.

Alcuni provider DNS potrebbero non funzionare con la mappatura dei sottodomini con caratteri jolly. In particolare, un provider DNS deve consentire i caratteri jolly nelle voci host CNAME.

Le regole di routing con caratteri jolly si applicano agli URL che contengono componenti per servizi, versioni e istanze, seguendo le regole di routing dei servizi per App Engine.

Eliminare i domini personalizzati dalla tua app

Per eliminare una mappatura del dominio personalizzata dalla tua app, il tuo account deve disporre del ruolo Amministratore App Engine (roles/appengine.appAdmin) o di un ruolo personalizzato che contenga l'autorizzazione appengine.applications.update.

Nella console Google Cloud:

  1. Vai alla scheda Domini personalizzati della pagina Impostazioni di App Engine.

    Vai a Domini personalizzati

  2. Seleziona il nome di dominio personalizzato e fai clic su Elimina.

In alternativa, puoi utilizzare i comandi gcloud o l'API Admin per eliminare i domini personalizzati.

Risoluzione dei problemi

Se la tua app mostra errori di autenticazione dopo aver configurato il dominio personalizzato con l'autenticazione del dominio Google Workspace, rimuovi la mappatura del dominio personalizzato e ripeti i passaggi per eseguire la mappatura di un dominio personalizzato alla tua app. Assicurati di configurare l'autenticazione del dominio Google Workspace prima di configurare la mappatura del dominio personalizzato in App Engine.

Passaggi successivi