Mapping di domini personalizzati

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

Per utilizzare un dominio personalizzato, mappalo alla tua app e poi aggiorna i record DNS. Puoi mappare un dominio semplice, come example.com o un sottodominio, ad esempio subdomain.example.com. Puoi anche utilizzare 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 del tuo SSL certificati, consulta Protezione dei domini personalizzati con SSL.

L'uso di domini personalizzati può 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 tutti diverse 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 di dominio personalizzata, il tuo account deve avere Il ruolo Amministratore App Engine (roles/appengine.appAdmin) o un ruolo personalizzato contenente 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 i seguenti limiti:

    • 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 URL di App Engine per bypassare il bilanciatore del carico, Google Cloud Armor criteri di sicurezza, certificati SSL e chiavi private che vengono trasmessi tramite il bilanciatore del carico.

Mappatura di un dominio personalizzato alla tua app

  1. Nella console Google Cloud, vai alla scheda Impostazioni applicazione dell' 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 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 tuo nome di dominio semplice (ad esempio "example.com") e fai clic su Verifica.

      Anche se vuoi mappare un sottodominio, ad esempio "www.sottodominio.example.com", inserisci il nome di dominio semplice da verificare 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 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. Puoi aggiungi altri sottodomini, se necessario.

    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 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 tuoi record DNS nel registrar del dominio. Per praticità, 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. La pagina elenca i record DNS per tutti i domini che hai mappato alla tua app.

  2. Accedi al tuo account nel registrar del dominio e apri il DNS di configurazione del deployment.

  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 Time-To-Live (TTL) di eventuali record DNS precedenti per il tuo dominio. Puoi utilizzare uno dei seguenti dig, come questa versione online di dig, per confermare che i record DNS sono 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.

Delegare la proprietà ad altri utenti o account di servizio Google Cloud

Se devi delegare la proprietà del tuo dominio ad altri utenti o servizi , 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 le 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 email dell'utente. Seleziona l'autorizzazione richiesta per concedere 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 alla settimana per ogni dominio di base. Se raggiungi il limite, App Engine continua a tentare di emettere i 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 testo in 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, tutti i sottodomini diexcogitate.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à maggiore e vengono abbinati per primi prima che venga eseguita qualsiasi mappatura con caratteri jolly. Inoltre, se altre app di App Engine sono mappate ad altri sottodomini, Inoltre, le 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 una mappatura di dominio personalizzata dalla tua app, il tuo account deve disporre della Ruolo Amministratore App Engine (roles/appengine.appAdmin) o un ruolo personalizzato contenente 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 l'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 l'operazione i passaggi per mappare un dominio personalizzato alla tua app. Assicurati di configurare l'autenticazione del dominio Google Workspace prima configurando il mapping di domini personalizzato in App Engine.

Passaggi successivi