É possível usar um domínio personalizado em vez do endereço padrão fornecido pelo App Engine para o aplicativo.
Para usar um domínio personalizado, mapeie-o para o aplicativo
e atualize os registros DNS. É possível mapear um domínio sem "www", como example.com
, ou um subdomínio,
como subdomain.example.com
. Você também pode usar caracteres curinga
para mapear subdomínios.
Por padrão, quando você mapeia o domínio para um app, o App Engine emite um certificado gerenciado para SSL em conexões HTTPS. Para saber mais informações sobre o uso do SSL com domínios personalizados e como usar seus próprios certificados SSL, acesse Como proteger domínios personalizados com SSL.
O uso de domínios personalizados pode adicionar uma latência perceptível às respostas que o App Engine envia aos usuários do aplicativo em algumas regiões. Essas regiões são:
- us-west2
- us-east4
- northamerica-northeast1
- southamerica-east1
- europe-west2
- europe-west3
- asia-south1
- asia-northeast1
- australia-southeast1
Os domínios personalizados do App Engine usam um pool de endereços IP compartilhados para todos os aplicativos. Para usar um endereço IP que mapeie somente para seu domínio, configure um balanceador de carga com o App Engine. Isso pode reduzir um problema de frente de domínio em que uma solicitação para o aplicativo A no certificado SNI pode ser encaminhada para o aplicativo B no cabeçalho Host HTTP.
Antes de começar
Se você não tiver um domínio, compre um. É possível usar qualquer registrador de domínios.
Para adicionar ou editar um mapeamento de domínio personalizado, sua conta precisa ter o papel de administrador do App Engine (
roles/appengine.appAdmin
) ou um papel personalizado que contenha a permissãoappengine.applications.get
.Se você usar o Cloud Load Balancing e os NEGs sem servidor para rotear o tráfego para seu aplicativo do App Engine, recomendamos mapear o domínio personalizado para o balanceador de carga, em vez de diretamente para seu aplicativo, e usar certificados SSL criados para o balanceador de carga. Isso elimina a necessidade de gerenciar certificados SSL separados para cada aplicativo sem servidor. Além disso, com o Cloud Load Balancing, é possível definir políticas SSL que controlam os recursos SSL que seu balanceador de carga negocia com os clientes.
Para mais informações, consulte as seguintes páginas:
- Como usar certificados SSL gerenciados pelo Google
- Como usar certificados SSL autogerenciados
- Políticas de SSL
Observe a limitação a seguir:
- Recomendamos usar controles de entrada para que o aplicativo receba apenas solicitações enviadas do balanceador de carga (e da VPC, se você usá-la). Caso contrário, os usuários poderão usar o URL do App Engine do aplicativo para ignorar o balanceador de carga, as políticas de segurança do Google Cloud Armor, os certificados SSL e as chaves privadas transmitidas pelo balanceador de carga.
Como mapear um domínio personalizado para o aplicativo
No console do Google Cloud, acesse a guia Configurações do aplicativo da página Configurações do App Engine.
Acesse as configurações do aplicativo
Se você não precisar modificar o referenciador padrão da API Google Accounts, passe para a próxima etapa.
Se você precisar ativar a autenticação do Google Workspace no domínio personalizado, clique em Editar para modificar o referenciador da API Google Accounts. No menu suspenso do Google Authentication, selecione Domínio do Google Workspace e adicione o domínio, como
example.com
, no campo vazio.No console do Google Cloud, acesse a guia Domínios personalizados da página Configurações do App Engine.
Clique em Adicionar um domínio personalizado.
Se o domínio já tiver sido verificado, ele aparecerá na seção Selecione o domínio que você quer usar. Selecione o domínio no menu suspenso e clique em Continuar.
Se você ainda não verificou o domínio, faça o seguinte:
- Selecione Verificar um novo domínio no menu suspenso.
Digite o nome de domínio sem "www" (como "example.com") e clique em Verificar.
Mesmo que você queira apenas mapear um subdomínio, como "www.subdomain.example.com", insira o nome do domínio sem "www" para verificar a propriedade.
Os nomes de domínio precisam ter menos de 64 bytes.
Insira as informações na janela do Search Console exibida. Se você precisar de ajuda para usar o Search Console, consulte este link.
Depois de concluir as etapas no Search Console, retorne à página Adicionar um novo domínio personalizado no console do Google Cloud.
Na seção Aponte seu domínio para [project-ID], especifique o domínio e os subdomínios que você quer mapear.
Recomendamos mapear o domínio sem "www" e o subdomínio
www
. É possível adicionar mais subdomínios, se necessário.Depois de adicionar todos os mapeamentos pretendidos, clique em Salvar mapeamentos.
Clique em Continuar para ver os registros DNS do domínio.
É possível recuperar esses registros a qualquer momento na guia Domínios personalizados da página Configurações do App Engine.
Faça login no site do registrador de domínios e atualize seus registros DNS com os registros exibidos na etapa anterior.
Como atualizar registros DNS no registrador de domínios
Depois de mapear o serviço para um domínio personalizado no App Engine, você precisará atualizar os registros DNS no registrador de domínios. Por conveniência, o App Engine gera e exibe os registros DNS que você precisa inserir.
Recupere as informações do registro DNS para os mapeamentos de domínio:
No console do Google Cloud, acesse a guia Domínios personalizados da página Configurações do App Engine. A página lista os registros DNS de todos os domínios que você mapeou para o aplicativo.
Faça login na sua conta no registrador de domínios e abra a página de configuração do DNS.
Localize a seção de registros do host da página de configuração do domínio e adicione cada um dos registros DNS recuperados quando você mapeou o domínio para o aplicativo.
Insira as seguintes informações nos campos de registro:
- Tipo de registro: insira o tipo de registro exibido no registro DNS
criado pelo Google para você (
A
,AAAA
ouCNAME
). Record name:
- Nos registros
A
ouAAAA
, insira@
. - Nos registros
CNAME
, insira um nome de domínio de terceiro nível. Por exemplo, insirawww
para mapear o subdomíniowww.example.com
.
- Nos registros
Se você estiver usando o Cloud DNS, não será necessário adicionar um símbolo @ ao criar um registro
A
para seu domínio personalizado pai (example.com). No entanto, talvez seja necessário especificar um símbolo @ para outros provedores de DNS, como o GoDaddy.TTL: especifique um TTL de acordo com suas necessidades.
Dados: insira os dados do registro (rrdata) mostrados no registro DNS que o Google criou para você.
- Nos registros
A
ouAAAA
, os dados do registro são um endereço IP. - Nos registros
CNAME
, os dados do registro são um nome de domínio.
- Nos registros
- Tipo de registro: insira o tipo de registro exibido no registro DNS
criado pelo Google para você (
Salve as alterações na página de configuração do DNS da conta do domínio. Na maioria dos casos, leva apenas alguns minutos para que essas alterações entrem em vigor. No entanto, em alguns casos, pode levar várias horas, dependendo do registrador e do time to live (TTL) (em inglês) de qualquer registro DNS anterior para seu domínio. É possível usar uma ferramenta
dig
, como esta versãodig
on-line, para confirmar se os registros de DNS foram atualizados.Teste navegando até o serviço no novo URL, por exemplo,
https://www.example.com
. Pode levar alguns minutos para que o certificado SSL automático seja emitido.
Como delegar propriedade a outros usuários ou contas de serviço do Google Cloud
Se você precisar delegar a propriedade do domínio a outros usuários ou contas de serviço, adicione a permissão pela página do Search Console:
Abra a verificação do Search Console.
Em Propriedades, clique no domínio em que você quer adicionar um usuário ou uma conta de serviço.
No final da lista Proprietários verificados, clique em Adicionar um proprietário e insira um endereço de e-mail de uma conta do Google ou um ID de conta de serviço.
Para ver uma lista das suas contas de serviço, abra a página "Contas de serviço" no Console do Google Cloud:
Como usar subdomínios
Se você configurar um mapeamento de subdomínio com caracteres curinga para o domínio personalizado, o aplicativo exibirá as solicitações de qualquer subdomínio correspondente.
- Se o usuário pesquisar um domínio que corresponda ao nome da versão do aplicativo ou ao nome do serviço, o aplicativo disponibilizará essa versão.
- Caso o usuário pesquise um domínio que corresponda a um nome de serviço, esse serviço será disponibilizada pelo aplicativo.
- Há um limite de 20 certificados SSL gerenciados por semana para cada domínio de base. Quando o limite é alcançado, o App Engine continua tentando emitir certificados gerenciados até que todas as solicitações sejam atendidas.
Mapeamentos com caracteres curinga
Use caracteres curinga para mapear subdomínios em qualquer nível, começando pelos de terceiro nível. Por exemplo, se seu domínio for example.com
e você inserir texto no campo de endereço da Web:
- Inserir
*.example.com
mapeia todos os subdomínios deexample.com
para seu aplicativo. - Inserir
*.private.example.com
mapeia todos os subdomínios deprivate.example.com
para seu aplicativo. - Inserir
*.nichol.sharks.nhl.example.com
mapeia todos os subdomínios denichol.sharks.nhl.example.com
para seu aplicativo. - Inserir
*.excogitate.system.example.com
mapeia todos os subdomínios deexcogitate.system.example.com
para seu app.
É possível utilizar os mapeamentos com caracteres curinga com serviços no App Engine. Basta usar o arquivo dispatch.yaml
para definir o roteamento de solicitações para serviços específicos.
Ao usar o Google Workspace com outros subdomínios
no seu domínio, como sites
e mail
, esses mapeamentos terão prioridade mais alta
e serão correspondidos antes de qualquer mapeamento com caractere curinga. Além disso, se
você tiver outros aplicativos do App Engine mapeados para outros subdomínios, esses
mapeamentos também terão prioridade mais alta que qualquer mapeamento com caracteres curinga.
Alguns provedores de DNS podem não funcionar com mapeamento de subdomínio com caractere curinga. Especificamente, um provedor de DNS precisa permitir caracteres curinga em entradas de host CNAME
.
As regras de roteamento de caracteres curinga se aplicam a URLs que contêm componentes de serviços, versões e instâncias seguindo as regras de roteamento de serviço do App Engine.
Como excluir domínios personalizados do seu app
Para excluir um mapeamento de domínio personalizado do aplicativo, a conta precisa ter o
papel de administrador do App Engine
(roles/appengine.appAdmin
) ou um papel personalizado que contenha a
permissão appengine.applications.update
.
No console do Google Cloud, faça o seguinte:
Acesse a guia Domínios personalizados da página Configurações do App Engine.
Selecione o nome de domínio personalizado e clique em Excluir.
Também é possível usar comandos gcloud ou a API Admin para excluir domínios personalizados.
Solução de problemas
Se o app mostrar erros de autenticação depois que você configurar o domínio personalizado com a autenticação do domínio do Google Workspace, remova o mapeamento e refaça as etapas de mapeamento de um domínio personalizado para o app. Configure a autenticação do domínio do Google Workspace antes de configurar o mapeamento de domínio personalizado no App Engine.
A seguir
- Saiba como proteger seus domínios personalizados com SSL.
- Se você quiser que o Cloud Load Balancing gerencie as solicitações recebidas para seu domínio personalizado, consulte Migrar o domínio personalizado do App Engine para o Cloud Load Balancing.