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, poi aggiorna i record DNS. Puoi mappare un dominio semplice, come example.com o un sottodominio, come subdomain.example.com. Puoi anche utilizzare caratteri jolly per mappare i sottodomini.

Per impostazione predefinita, quando mappi un dominio alla tua app, App Engine emette un certificato gestito per SSL per le connessioni HTTPS. Per saperne di più sull'utilizzo di SSL con il tuo dominio personalizzato, incluso l'uso dei tuoi certificati SSL, consulta Protezione dei domini personalizzati con SSL.

L'uso di domini personalizzati potrebbe aggiungere una notevole latenza alle risposte che App Engine invia 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 App Engine utilizzano un pool di indirizzi IP condivisi per tutte le applicazioni. Se vuoi utilizzare un indirizzo IP mappato solo al tuo dominio, devi configurare un bilanciatore del carico con App Engine. Ciò può attenuare un problema di dominio fronting in cui una richiesta all'applicazione A nel certificato SNI può essere instradata all'applicazione B nell'intestazione dell'host HTTP.

Prima di iniziare

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

  • Per aggiungere o modificare un mapping di dominio personalizzato, il tuo account deve avere il ruolo Amministratore App Engine (roles/appengine.appAdmin) o un ruolo personalizzato contenente l'autorizzazione appengine.applications.get.

  • Se utilizzi Cloud Load Balancing e un gruppo di endpoint di rete serverless (NEGS) per instradare il traffico all'app App Engine, ti consigliamo di mappare il dominio personalizzato al bilanciatore del carico, invece che direttamente all'app, e di utilizzare i certificati SSL gestiti da Google creati per il bilanciatore del carico. Ciò elimina la necessità di gestire certificati SSL separati per ogni app serverless. Con Cloud Load Balancing, puoi impostare criteri SSL che controllano le funzionalità SSL che il bilanciatore del carico negozia con i client.

    Per ulteriori informazioni, consulta le seguenti pagine:

    Tieni presente le seguenti limitazioni:

    • Ti consigliamo di utilizzare i controlli in entrata in modo che la tua app riceva solo le richieste inviate dal bilanciatore del carico (e dal VPC, se lo utilizzi). In caso contrario, gli utenti possono utilizzare l'URL di 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 che vengono trasmesse attraverso 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 alle impostazioni dell'applicazione

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

    Se devi abilitare l'autenticazione di Google Workspace per il tuo dominio personalizzato, fai clic su Modifica per modificare il referrer dell'API Google Account. 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 dominio è già stato verificato, il dominio 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:

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

      Anche se vuoi mappare solo un sottodominio, come "www.subdomain.example.com", inserisci il nome di dominio semplice per verificare la proprietà.

      Tieni presente che i nomi di dominio devono contenere meno di 64 byte.

    3. Inserisci le informazioni nella finestra di 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 [project-ID], specifica il dominio e i sottodomini che vuoi mappare.

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

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

  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 registrar del dominio e aggiorna i tuoi record DNS con i record 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 presso il registrar del dominio. Per praticità, App Engine genera e visualizza i record DNS che devi inserire.

  1. Recupera le informazioni sui record DNS per le mappature dei domini:

    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 nel registrar di domini e apri la pagina di configurazione DNS.

  3. Individua la sezione dei record host nella pagina di configurazione del dominio e aggiungi ogni record DNS recuperato durante la mappatura del dominio alla tua app.

    Inserisci le seguenti informazioni nei campi del record:

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

      • In A o AAAA record, 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 il simbolo @ quando crei un record A per il dominio personalizzato padre (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 per te da Google.

      • Nei record A o AAAA, i dati dei record sono un indirizzo IP
      • Nei record CNAME, i dati dei 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, l'applicazione di queste modifiche richiede solo pochi minuti, ma in alcuni casi potrebbero essere necessarie diverse ore, a seconda del registrar e della durata (TTL) di eventuali record DNS precedenti per il dominio. Puoi utilizzare uno strumento dig, ad esempio questa versione online di dig, per verificare che i record DNS siano stati aggiornati correttamente.

  5. Per verificare l'efficacia, accedi al tuo servizio dal nuovo URL, ad esempio https://www.example.com. Tieni presente che l'emissione del certificato SSL automatico può richiedere diversi minuti.

Delegare la 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:

  1. Apri la verifica di Search Console.

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

  3. Alla fine dell'elenco Proprietari verificati, fai clic su Aggiungi un proprietario, quindi inserisci l'indirizzo email di un Account Google o l'ID account di servizio.

    Per visualizzare un elenco degli account di servizio, apri la pagina Account di servizio nella console Google Cloud:

    Vai ad Account di servizio

Utilizzo dei sottodomini

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

  • Se l'utente sfoglia un dominio che corrisponde al nome di una versione dell'applicazione o a un nome di servizio, l'applicazione gestisce quella versione.
  • Se l'utente esplora un dominio che corrisponde al nome di un servizio, l'applicazione fornisce quel servizio.
  • 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 fino a quando tutte le richieste non sono state soddisfatte.

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, vengono mappati tutti i sottodomini di nichol.sharks.nhl.example.com alla tua app.
  • Se inserisci *.excogitate.system.example.com, vengono mappati tutti i sottodomini di excogitate.system.example.com alla tua app.

Puoi utilizzare mappature dei caratteri jolly con i servizi in App Engine utilizzando il file dispatch.yaml per definire il routing 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 abbinate per prime, prima che venga eseguita qualsiasi mappatura con caratteri jolly. Inoltre, se altre app di App Engine sono mappate ad altri sottodomini, anche queste mappature hanno una priorità maggiore rispetto a qualsiasi mappatura con caratteri 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.

Eliminazione di domini personalizzati dalla tua app

Per eliminare un mapping di dominio personalizzato dalla tua app, il tuo account deve avere il ruolo Amministratore App Engine (roles/appengine.appAdmin) o un ruolo personalizzato contenente l'autorizzazione appengine.applications.update.

Nella console Google Cloud, segui questi passaggi:

  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 il mapping del dominio personalizzato e ripeti i passaggi per mappare un dominio personalizzato alla tua app. Assicurati di configurare l'autenticazione del dominio Google Workspace prima di configurare il mapping di domini personalizzato in App Engine.

Passaggi successivi