Asigna dominios personalizados

App Engine permite que las aplicaciones se entreguen a través de un dominio personalizado, como example.com, en lugar de la dirección predeterminada appspot.com. Puedes crear una asignación de dominio para tu app de App Engine a fin de que utilice un dominio personalizado.

De manera predeterminada, cuando asignas el dominio personalizado a la app, App Engine emite un certificado administrado de SSL para las conexiones HTTPS. Para obtener más información sobre cómo usar SSL con el dominio personalizado e, incluso, cómo usar tus propios certificados SSL, consulta cómo proteger los dominios personalizados con SSL.

Utiliza esta página para aprender cómo crear un mapeo de dominio para la aplicación que se ejecuta en App Engine.

El uso de dominios personalizados en las regiones siguientes podría agregar una latencia evidente a las respuestas:

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

Antes de comenzar

  1. Compra un dominio nuevo, a menos que ya tengas uno que desees usar. Puedes utilizar cualquier registrador de nombre de dominio, incluido Google Domains.

  2. Si eliges usar los comandos de la herramienta gcloud, sigue estos pasos:

    1. Instala e inicializa el SDK de Cloud:

      Descargar y, luego, instalar

  3. Si eliges usar la API de Administrador, consulta los requisitos en Accede a la API de Administrador.

Agrega un dominio personalizado a tu aplicación

Para agregar un dominio personalizado a la app de App Engine, sigue estos pasos:

  1. Verifica que seas el propietario del dominio a través de la Central para webmasters:

    console
    1. En Google Cloud Platform Console, ve a App Engine > Configuración > Dominios personalizados:

      Ir a la página de dominios personalizados

    2. Haz clic en Agregar un dominio personalizado para visualizar el formulario Agregar un dominio personalizado nuevo:

      Agrega un dominio personalizado

    3. En la sección Selecciona el dominio que deseas usar, ingresa el nombre del dominio, por ejemplo, example.com, y haz clic en Continuar para a fin de abrir una pestaña nueva en la página de la Central para webmasters.
      1. Utiliza la Central para webmasters a fin de verificar la propiedad del dominio.

        Importante: El método preferido para verificar la propiedad del dominio es mediante el uso de un registro CNAME en App Engine. Si decides usar un registro TXT, no configures el DNS del dominio con un registro CNAME, ya que el registro CNAME anulará el registro TXT y provocará que el dominio aparezca como no verificado.

        Si los métodos de verificación para el dominio no ofrecen la opción de registro CNAME, puedes seleccionar Otro como proveedor de dominio y, luego, elegir Agregar un registro CNAME:

        1. Haz clic en Métodos alternativos y, a continuación, en Proveedor del nombre de dominio.
        2. En el menú, selecciona Otro.
        3. En la sección ¿Tienes problemas?, haz clic en Agregar un registro CNAME y, a continuación, sigue las instrucciones para verificar la propiedad del dominio.

          Recuerda: Establecer tu CNAME en el registrador de dominios puede tardar un poco.

      2. Regresa al formulario Agregar un dominio personalizado nuevo en GCP Console.
    gcloud
    1. Ejecuta el siguiente comando gcloud domains para abrir la página de la Central de webmasters:

      gcloud domains verify DOMAIN

      donde DOMAIN es el dominio cuya propiedad deseas verificar.

      Por ejemplo:

      gcloud domains verify example.com
    2. Utiliza la Central para webmasters a fin de verificar la propiedad del dominio.

      Importante: El método preferido para verificar la propiedad del dominio es mediante el uso de un registro CNAME en App Engine. Si decides usar un registro TXT, no configures el DNS del dominio con un registro CNAME, ya que el registro CNAME anulará el registro TXT y provocará que el dominio aparezca como no verificado.

      Si los métodos de verificación para el dominio no ofrecen la opción de registro CNAME, puedes seleccionar Otro como proveedor de dominio y, luego, elegir Agregar un registro CNAME:

      1. Haz clic en Métodos alternativos y, a continuación, en Proveedor del nombre de dominio.
      2. En el menú, selecciona Otro.
      3. En la sección ¿Tienes problemas?, haz clic en Agregar un registro CNAME y, a continuación, sigue las instrucciones para verificar la propiedad del dominio.

        Recuerda: Establecer tu CNAME en el registrador de dominios puede tardar un poco.

      Ejemplo
      Para agregar el registro siguiente CNAME a la configuración del DNS del dominio, sigue estos pasos:
      CNAME Label / Host: a1b2c3d4e5.example.com.
      CNAME Destination / Target: gv-abcdefghijk.dv.googlehosted.com
      Asignas los valores Label / Host y Destination / Target a los campos correspondientes de la configuración del DNS del dominio. Por ejemplo, en Google Domains, configura CNAME de la manera siguiente:
      NOMBRETIPOTTLDATOS
      a1b2c3d4e5CNAME1 hgv-abcdefghijk.dv.googlehosted.com.

      Para obtener más información sobre cómo agregar un registro CNAME, incluidas las instrucciones específicas del dominio, consulta la página de asistencia.

  2. Asegúrate de que el dominio esté verificado; de lo contrario, no podrás proceder con los pasos siguientes. Ten en cuenta que se mostrarán solo los dominios verificados.

    console

    Si el dominio aún no aparece en la lista, haz clic en Actualizar dominios.

    gcloud

    Ejecuta el comando siguiente de gcloud domains para enumerar los dominios verificados:

    gcloud domains list-user-verified
    API

    Para ver una lista de los dominios verificados de manera programática, consulta el método apps.authorizedDomains.list en la API de Administrador.

  3. Si necesitas delegar la propiedad del dominio a otros usuarios o cuentas de servicio, puedes agregar permisos a través de la página de la Central para webmasters:

    1. Abre la dirección siguiente en el navegador web:

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

    2. En Propiedades, haz clic en el dominio para el que deseas agregar un usuario o una cuenta de servicio.

    3. Desplázate hacia abajo a la lista de Propietarios verificados, haz clic en Agregar un propietario y, a continuación, ingresa la dirección de correo electrónico de una Cuenta de Google o el ID de una cuenta de servicio

      Para ver una lista de las cuentas de servicio, abre la página Cuentas de servicio en GCP Console:

      Ir a la página Cuentas de servicio

  4. Después de que verifiques la propiedad del dominio, puedes asignar ese dominio a la aplicación de App Engine:

    console

    Continúa con el paso siguiente del formulario Agregar un dominio personalizado nuevo para seleccionar el dominio que deseas asignar a la aplicación de App Engine:

    1. Especifica el dominio y los subdominios que deseas asignar. El dominio simple y el subdominio www se propagan con anticipación en el formulario.
      • Un dominio simple, como example.com, se asigna a http://example.com.
      • Un subdominio, como www, se asigna a http://www.example.com.
    2. Haz clic en Guardar asignaciones para crear el mapeo deseado.
    3. En el paso final del formulario Agregar un dominio personalizado nuevo, ten en cuenta los registros de recursos que se muestran, incluido su tipo y nombre canónico (CNAME), ya que debes agregar estos detalles a la configuración de DNS del dominio.

      En el ejemplo siguiente, CNAME es uno de los tipos enumerados y ghs.googlehosted.com es su nombre canónico.

      Agrega un dominio personalizado
    gcloud

    Ejecuta el comando siguiente gcloud app domain-mappings para asignar el dominio a la app de App Engine:

    gcloud app domain-mappings create DOMAIN
    • donde DOMAIN es el dominio que deseas asignar a la app de App Engine, como *.example.com.
    • Si obtienes un error, intenta usar comillas alrededor del dominio, como '*.example.com'.

      Por ejemplo:

      gcloud app domain-mappings create '*.example.com'
    • Ten en cuenta los registros de recursos que se muestran, incluidos su tipo y nombre canónico (CNAME), ya que debes agregar estos detalles a la configuración de DNS del dominio.
    API

    Para asignar el dominio de manera programática a la app de App Engine, consulta el método app.domainMappings.create en la API de Administrador.

    Después de que se asigna el dominio a la app de App Engine, usa el método apps.domainMappings.list para enumerar los registros de recursos.

  5. Agrega los registros de recursos que recibes para la configuración de DNS del Registrador de dominios:

    1. Accede a tu cuenta en el registrador de dominios y, a continuación, abre la página de la configuración de DNS.

    2. Encuentra la sección de registros del host de la página de configuración de dominio y, a continuación, agrega cada uno de los registros de recursos que recibiste cuando mapeaste el dominio a la aplicación de App Engine.

      Por lo general, agregas el nombre del host junto con el nombre canónico como la dirección. Por ejemplo, si registraste un Google Domains, uno de los registros que agregas a la configuración de DNS es el nombre de host www junto con la dirección ghs.googlehosted.com. En su lugar, para especificar un dominio simple, deberías usar @ con la dirección ghs.googlehosted.com.

      Si estás realizando una migración desde otro proveedor, asegúrate de que todos los registros DNS se dirijan a la aplicación de App Engine.

      Para obtener más información sobre la asignación del dominio, consulta las secciones siguientes Usa subdominios y Asignación de comodines.

    3. Guarda los cambios en la página de configuración de DNS de la cuenta del dominio. Estos cambios pueden tardar en efectuarse.

  6. Haz la prueba de navegar a tu app a través de la URL nueva del dominio para ver si funciona, por ejemplo www.example.com.

Utiliza subdominios

Si configuras una asignación de subdominio de comodín para el dominio personalizado, la aplicación entregará solicitudes a cualquier subdominio coincidente.

  • Si el usuario explora un dominio que coincide con el nombre de la versión de una aplicación o el nombre de un servicio, la aplicación entregará esa versión.
  • Si el usuario explora un dominio que coincide con el nombre de un servicio, la aplicación entregará ese servicio.
  • Hay un límite de 20 certificados SSL administrados por semana para cada dominio base. Si alcanzas este límite, App Engine seguirá tratando de emitir los certificados administrados hasta que se entreguen todas las solicitudes.

Asignaciones de comodines

Puedes utilizar comodines para asignar subdominios en cualquier nivel, a partir de los subdominios de tercer nivel. Por ejemplo, puedes hacerlo si el dominio es example.com y, además, ingresas texto en el campo de dirección web:

  • Cuando se ingresa *.example.com, se asignan todos los subdominios de example.com a la app.
  • Cuando se ingresa *.private.example.com, se asignan todos los subdominios de private.example.com a la app.
  • Cuando se ingresa *.nichol.sharks.nhl.example.com, se asignan todos los subdominios de nichol.sharks.nhl.example.com a la app.
  • Cuando se ingresa *.excogitate.system.example.com, se asignan todos los subdominios de excogitate.system.example.com a la app.

Puedes usar asignaciones de comodines con servicios en App Engine con el archivo dispatch.yaml para definir el enrutamiento de solicitudes a servicios específicos.

Si usas G Suite con otros subdominios en tu dominio, como sites y mail, esas asignaciones tienen mayor prioridad y coinciden primero, antes de que se realice cualquier asignación de comodines. Además, si tienes otras apps de App Engine asignadas a otros subdominios, esas asignaciones también tendrán mayor prioridad que en el caso de cualquier asignación de comodín.

Es posible que algunos proveedores de DNS no funcionen con los mapeos de subdominios de comodines. En concreto, un proveedor de DNS debe habilitar los comodines en las entradas del host CNAME.

Las reglas de enrutamiento de comodines se aplican a las URL que contienen componentes para los servicios, las versiones y las instancias, de acuerdo con las reglas de enrutamiento de servicios de App Engine.

Pasos siguientes

Protege dominios personalizados con SSL.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Java 8