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, mappa il dominio alla tua app, quindi 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 il protocollo SSL per le connessioni HTTPS. Per ulteriori informazioni sull'utilizzo di SSL con il tuo dominio personalizzato, incluso come utilizzare i tuoi certificati SSL, consulta Protezione dei domini personalizzati con SSL.

L'utilizzo di domini personalizzati potrebbe aggiungere una latenza notevole 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 di App Engine utilizzano un pool di indirizzi IP condivisi per tutte le applicazioni. Se vuoi utilizzare un indirizzo IP che viene mappato solo al tuo dominio, devi invece configurare un bilanciatore del carico con App Engine. Ciò può ridurre un problema di fronting del dominio per 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. Se utilizzi Google Domains, il dominio viene verificato automaticamente per App Engine e non devi eseguire la procedura di verifica del dominio.

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

  • Se utilizzi Cloud Load Balancing e NEGS serverless per instradare il traffico all'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 creati per il bilanciatore del carico. In questo modo non è necessario gestire certificati SSL separati per ogni app serverless. Inoltre, con Cloud Load Balancing puoi impostare i criteri SSL che controllano le funzionalità del protocollo SSL che il bilanciatore del carico negozia con i client. Per ulteriori informazioni, consulta le seguenti pagine:

    Tieni presente i seguenti limiti:

    • 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 dell'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 tramite il bilanciatore del carico.

Mappare un dominio personalizzato all'app

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

    Vai alla pagina Impostazioni applicazione

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

    Se devi abilitare l'autenticazione 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 alla pagina Domini personalizzati

  3. Fai clic su Aggiungi un dominio personalizzato.

  4. Se il 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:

    1. Seleziona Verifica un nuovo dominio dal menu a discesa.
    2. Inserisci il tuo nome di dominio semplice (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 semplice per verificarne la proprietà.

      Tieni presente che i nomi di dominio devono avere una lunghezza inferiore a 64 byte.

    3. Inserisci le informazioni nella finestra di Search Console visualizzata. Per informazioni 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 Point your domain to [project-ID], specifica il dominio e i sottodomini che vuoi mappare.

    Consigliamo di mappare il dominio semplice 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 vedere 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 nel registrar dei domini

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 visualizza i record DNS che devi inserire.

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

    Nella console Google Cloud, vai alla scheda Domini personalizzati della pagina Impostazioni di App Engine. Nella pagina sono elencati i record DNS per tutti i domini mappati alla tua app.

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

  3. Individua la sezione dei record dell'host nella pagina di configurazione del tuo dominio e aggiungi ciascuno dei record DNS che hai recuperato quando hai mappato il 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 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.
    • 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, l'applicazione delle modifiche richiede solo pochi minuti, ma in alcuni casi possono essere necessarie diverse ore, a seconda del registrar e della durata (TTL) di eventuali record DNS precedenti per il tuo dominio. Puoi utilizzare uno strumento dig, come questa versione dig online, per confermare che i record DNS sono stati aggiornati correttamente.

  5. Per ottenere risultati ottimali, accedi al tuo servizio al 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 pagina di verifica di Search Console.

  2. In Proprietà, fai clic sul dominio per 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 o l'ID account di servizio di un Account Google.

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

    Vai alla pagina Account di servizio

Utilizzo dei sottodomini

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

  • Se l'utente sfoglia un dominio che corrisponde al nome di versione o di servizio di un'applicazione, l'applicazione pubblica quella versione.
  • Se l'utente sfoglia 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 questo limite, App Engine continua a tentare di emettere certificati gestiti finché 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 da quelli di terzo livello. Ad esempio, se il tuo dominio è example.com e inserisci 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 il routing delle richieste a servizi specifici.

Se utilizzi Google Workspace con altri sottodomini del tuo dominio, ad esempio sites e mail, queste mappature hanno una priorità maggiore e vengono abbinate per prime prima che venga eseguita qualsiasi mappatura con caratteri jolly. Inoltre, se hai altre app App Engine 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 dall'app

Per eliminare un mapping di domini personalizzato dalla tua app, il tuo account deve avere il ruolo Amministratore di App Engine (roles/appengine.appAdmin) o un ruolo personalizzato che contenga 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 alla pagina 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 l'app mostra errori di autenticazione dopo aver configurato il dominio personalizzato con l'autenticazione del dominio G Suite, rimuovi il mapping del dominio personalizzato e ripeti i passaggi per la mappatura di un dominio personalizzato nell'app. Assicurati di configurare l'autenticazione del dominio G Suite prima di configurare la mappatura dei domini personalizzata in App Engine.

Passaggi successivi

Proteggi i tuoi domini personalizzati con SSL.