Como mapear domínios personalizados

No App Engine, os aplicativos são exibidos por meio de um domínio personalizado, como example.com, em vez do endereço appspot.com padrão. Crie um mapeamento de domínio personalizado para seu aplicativo do App Engine para que ele use um domínio.

Por padrão, quando você mapeia o domínio personalizado para um aplicativo, o App Engine emite um certificado gerenciado para SSL para 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.

Use esta página para saber como criar um mapeamento de domínio para o aplicativo em execução no App Engine.

O uso de domínios personalizados nas seguintes regiões pode adicionar uma latência perceptível às respostas:

  • us-west2
  • us-east4
  • northamerica-northeast1
  • southamerica-east1
  • europe-west2
  • europe-west3
  • asia-south1
  • asia-northeast1
  • australia-southeast1

Antes de começar

  1. Compre um domínio novo, a menos que você já tenha um e queira usá-lo. É possível usar qualquer registrador de nomes de domínio, inclusive o Google Domains.

  2. Se você optar por usar os comandos da ferramenta gcloud:

    1. Instale e inicialize o SDK do Cloud:

      Fazer o download e instalar

  3. Para usar a API Admin, consulte os pré-requisitos em Como acessar a API Admin.

Como adicionar um domínio personalizado ao aplicativo

Para adicionar um domínio personalizado ao aplicativo do App Engine:

  1. Confirme que você é o proprietário do domínio na Central do webmaster:

    Console
    1. No Console do Google Cloud Platform, acesse App Engine > Configurações > Domínios personalizados:

      Acessar a página "Domínios personalizados"

    2. Clique em Adicionar um domínio personalizado para exibir o formulário Adicionar um novo domínio personalizado:

      Adicione um domínio personalizado

    3. Na seção Selecione o domínio que quer usar, insira o nome do domínio que você quer, como example.com, e clique em Continuar para abrir uma nova guia da página Central do webmaster.
      1. Use a Central do webmaster para confirmar a propriedade do domínio.

        Importante: a confirmação da propriedade do domínio por meio de um registro CNAME é a opção preferencial no App Engine. Se você preferir usar um registro TXT, não configure o DNS do domínio com um registro CNAME, porque o CNAME substitui o registro TXT e faz com que o domínio seja mostrado como não confirmado.

        Se os métodos de confirmação de domínio não oferecerem a opção de registro CNAME, selecione Outro como provedor do domínio e escolha Adicionar um registro CNAME:

        1. Clique em Métodos alternativos e Provedor de nome de domínio.
        2. No menu, selecione Outro.
        3. Na seção Enfrentando problemas?, clique em Adicionar um registro CNAME e siga as instruções para confirmar a propriedade do domínio.

          Lembre-se: a configuração do CNAME no registro de domínios pode levar um minuto.

      2. Retorne ao formulário Adicionar um novo domínio personalizado no Console do GCP.
    gcloud
    1. Execute o comando gcloud domains a seguir para abrir a página Central do webmaster:

      gcloud domains verify DOMAIN

      em que DOMAIN é o domínio com a propriedade que você quer confirmar.

      Exemplo:

      gcloud domains verify example.com
    2. Use a Central do webmaster para confirmar a propriedade do domínio.

      Importante: a confirmação da propriedade do domínio por meio de um registro CNAME é a opção preferencial no App Engine. Se você preferir usar um registro TXT, não configure o DNS do domínio com um registro CNAME, porque o CNAME substitui o registro TXT e faz com que o domínio seja mostrado como não confirmado.

      Se os métodos de confirmação de domínio não oferecerem a opção de registro CNAME, selecione Outro como provedor do domínio e escolha Adicionar um registro CNAME:

      1. Clique em Métodos alternativos e Provedor de nome de domínio.
      2. No menu, selecione Outro.
      3. Na seção Enfrentando problemas?, clique em Adicionar um registro CNAME e siga as instruções para confirmar a propriedade do domínio.

        Lembre-se: a configuração do CNAME no registro de domínios pode levar um minuto.

      Exemplo
      Para adicionar o registro CNAME a seguir à configuração de DNS do domínio:
      CNAME Label / Host: a1b2c3d4e5.example.com.
      CNAME Destination / Target: gv-abcdefghijk.dv.googlehosted.com
      Mapeie os valores de Label / Host e Destination / Target para os campos correspondentes da configuração de DNS do seu domínio. Por exemplo, no Google Domains, configure o CNAME da maneira a seguir:
      NOMETIPOTTLDADOS
      a1b2c3d4e5CNAME1 hgv-abcdefghijk.dv.googlehosted.com.

      Para mais informações sobre como adicionar um registro CNAME, incluindo instruções específicas do domínio, consulte a página de suporte.

  2. Verifique se o domínio foi confirmado. Caso contrário, não será possível continuar com as etapas a seguir. Somente os domínios confirmados serão exibidos.

    Console

    Se o domínio ainda não estiver listado, clique em Atualizar domínios.

    gcloud

    Execute o comando gcloud domains a seguir para listar os domínios confirmados:

    gcloud domains list-user-verified

  3. Se você precisar delegar a propriedade do domínio a outros usuários ou contas de serviço, adicione a permissão na página Central do webmaster:

    1. Abra o endereço a seguir no navegador:

      https://www.google.com/webmasters/verification/home

    2. Em Propriedades, clique no domínio em que você quer adicionar um usuário ou uma conta de serviço.

    3. Vá até a lista de Proprietários verificados, clique em Adicionar um proprietário e insira o e-mail da Conta do Google ou o ID da conta de serviço.

      Para ver uma lista das contas de serviço, abra a página "Contas de serviço" no Console do GCP:

      Acessar a página "Contas de serviço"

  4. Depois de confirmar a propriedade do domínio, mapeie-o para o aplicativo do App Engine:

    Console

    Prossiga para a próxima etapa do formulário Adicionar um novo domínio personalizado para selecionar o domínio que você quer mapear para o aplicativo do App Engine:

    1. Especifique o domínio e os subdomínios que você quer mapear. O domínio sem "www" e o subdomínio com www são pré-preenchidos no formulário.
      • Um domínio sem "www", como example.com, é mapeado para http://example.com.
      • Um subdomínio, como www, é mapeado para http://www.example.com.
    2. Clique em Salvar mapeamentos para criar o mapeamento desejado.
    3. Na etapa final do formulário Adicionar novo domínio personalizado, anote os registros de recurso listados, incluindo o tipo e o nome canônico (CNAME), porque será necessário adicionar esses detalhes à configuração de DNS do domínio.

      No exemplo abaixo, CNAME é um dos tipos listados e ghs.googlehosted.com é o nome canônico dele.

      Adicione um domínio personalizado
    gcloud

    Execute o comando gcloud app domain-mappings a seguir para mapear o domínio para o aplicativo do App Engine:

    gcloud app domain-mappings create DOMAIN
    • em que DOMAIN é o domínio que você quer mapear para o aplicativo do App Engine, como *.example.com.
    • Se você receber uma mensagem de erro, tente usar aspas no domínio, como '*.example.com'.

      Exemplo:

      gcloud app domain-mappings create '*.example.com'
    • Anote os registros de recurso listados, incluindo o tipo e o nome canônico (CNAME), porque você precisará adicionar esses detalhes à configuração de DNS do domínio.
    API

    Se você quiser mapear o domínio de maneira programática para o aplicativo do App Engine, consulte o método app.domainMappings.create na API Admin.

    Após mapear o domínio para o aplicativo do App Engine, use o método apps.domainMappings.list para listar os registros do recurso.

  5. Adicione os registros de recurso recebidos à configuração de DNS do registro de domínios:

    1. Faça login na conta do registro de domínios e abra a página de configuração de DNS.

    2. Localize a seção de registros de host na página de configuração do domínio e adicione cada um dos registros de recurso que você recebeu ao mapear o domínio para o aplicativo do App Engine.

      Normalmente você precisa listar o nome do host com o nome canônico como o endereço. Por exemplo, se você registrou um domínio do Google, um dos registros adicionados à sua configuração de DNS é o nome do host www junto com o endereço ghs.googlehosted.com. Para especificar um domínio sem "www", use @ com o endereço ghs.googlehosted.com.

      Se você estiver migrando de outro provedor, verifique se todos os registros DNS apontam para o aplicativo do App Engine.

      Para mais informações sobre como mapear seu domínio, consulte as seções Como usar subdomínios e Mapeamentos com caracteres curinga a seguir.

    3. Salve as alterações na página de configuração do DNS da conta do domínio. Pode levar algum tempo para que elas sejam aplicadas.

  6. Para testar se o mapeamento foi bem-sucedido, navegue até o aplicativo usando o novo URL do domínio, como www.example.com.

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 referentes a 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 de example.com para seu aplicativo.
  • Inserir *.private.example.com mapeia todos os subdomínios de private.example.com para seu aplicativo.
  • Inserir *.nichol.sharks.nhl.example.com mapeia todos os subdomínios de nichol.sharks.nhl.example.com para seu aplicativo.
  • Inserir *.excogitate.system.example.com mapeia todos os subdomínios de excogitate.system.example.com para seu aplicativo.

É 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 G Suite no seu domínio com outros subdomínios, como sites e mail, esses mapeamentos têm prioridade mais alta e são correspondidos antes de qualquer mapeamento com caracteres 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. Em específico, 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, de acordo com as regras de roteamento de serviço do App Engine.

A seguir

Como proteger domínios personalizados com SSL.