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 tuoi record DNS. Puoi mappare un dominio semplice, come example.com, o un sottodominio, come 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 emette un certificato gestito per 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 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 che è mappato solo al tuo dominio, allora devi configurare un bilanciatore del carico con App Engine. Ciò può attenuare un problema di dominio a causa del quale una richiesta all'applicazione A nel certificato SNI potrebbe 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 disporre del ruolo Amministratore App Engine (roles/appengine.appAdmin) o di un ruolo personalizzato contenente l'autorizzazione appengine.applications.get.

  • Se utilizzi Cloud Load Balancing e NEGS serverless per instradare il traffico alla tua app App Engine, ti consigliamo di mappare il dominio personalizzato al bilanciatore del carico, anziché direttamente alla tua app, e di utilizzare i certificati SSL creati per il bilanciatore del carico. Ciò elimina la necessità di gestire certificati SSL separati per ogni app serverless. Inoltre, 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 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 ignorare il bilanciatore del carico, i criteri di sicurezza di Google Cloud Armor, i certificati SSL e le chiavi private 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 alla pagina Impostazioni applicazione

    Se non devi modificare il referrer predefinito dell'API Google Account, vai 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 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 tuo dominio è già verificato, verrà visualizzato nella sezione Seleziona il dominio che vuoi 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, ad esempio "www.subdomain.example.com", inserisci il nome di dominio semplice per verificare la proprietà.

      Tieni presente che i nomi di dominio devono essere inferiori a 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 Indirizza il tuo dominio a [project-ID], specifica il dominio e i sottodomini che vuoi mappare.

    Ti 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 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 di domini e aggiorna i 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. Nella pagina sono elencati i record DNS per tutti i domini mappati alla tua app.

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

  3. Individua la sezione dei record 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 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.
    • TTL: specifica un TTL in base alle tue esigenze.
    • Dati: inserisci i dati del record (rrdata) visualizzati nel record DNS che Google ha creato 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 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 confermare che i record DNS sono stati aggiornati correttamente.

  5. Verifica la riuscita visitando il tuo servizio con il 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 dominio ad altri utenti o account di servizio, puoi aggiungere l'autorizzazione tramite la pagina di Search Console:

  1. Apri la pagina 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 di un account di servizio.

    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 di 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 di un servizio, l'applicazione gestisce quella versione.
  • Se l'utente sfoglia un dominio che corrisponde al nome di un servizio, l'applicazione offre quel servizio.
  • Esiste un limite di 20 certificati SSL gestiti alla settimana per ogni dominio di base. Se raggiungi il limite, App Engine continua a provare a emettere certificati gestiti fino a quando tutte le richieste non vengono 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, vengono mappati tutti i sottodomini di example.com alla tua app.
  • L'inserimento di *.private.example.com consente di mappare tutti i sottodomini di private.example.com alla tua app.
  • L'inserimento di *.nichol.sharks.nhl.example.com consente di mappare tutti i sottodomini di nichol.sharks.nhl.example.com alla tua app.
  • L'inserimento di *.excogitate.system.example.com consente di mappare tutti i sottodomini di excogitate.system.example.com alla tua app.

Puoi utilizzare mappature dei caratteri jolly con i servizi in App Engine mediante 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ù alta 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 di 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, in base alle regole di routing dei servizi per App Engine.

Eliminazione di domini personalizzati dalla tua app

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

Passaggi successivi

Proteggi i tuoi domini personalizzati con SSL.