Skip to main content

Configurar un dominio personalizado para tu sitio de Páginas de GitHub

Puedes configurar o actualizar determinados registros DNS y las configuraciones de tu repositorio para que apunten el dominio predeterminado de tu sitio de GitHub Pages a un dominio personalizado.

¿Quién puede utilizar esta característica?

GitHub Pages is available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub’s plans.

GitHub Pages now uses GitHub Actions to execute the Jekyll build. When using a branch as the source of your build, GitHub Actions must be enabled in your repository if you want to use the built-in Jekyll workflow. Alternatively, if GitHub Actions is unavailable or disabled, adding a .nojekyll file to the root of your source branch will bypass the Jekyll build process and deploy the content directly. For more information on enabling GitHub Actions, see Managing GitHub Actions settings for a repository.

Platform navigation

Las personas con permisos de administración para un repositorio pueden configurar un dominio personalizado para un sitio de GitHub Pages.

Acerca de la configuración de dominios personalizados

Tip

Se recomienda comprobar el dominio personalizado antes de agregarlo al repositorio para mejorar la seguridad y evitar ataques de toma de control. Para obtener más información, vea «Verificar tu dominio personalizado para GitHub Pages».

Asegúrate de agregar tu dominio personalizado al sitio de GitHub Pages antes de configurar el dominio personalizado con tu proveedor DNS. Configurar tu dominio personalizado con tu proveedor DNS sin agregar tu dominio personalizado a GitHub podría dar como resultado que alguien aloje un sitio en uno de tus subdominios.

El comando dig, que se puede usar para verificar la correcta configuración de los registros DNS, no está incluido en Windows. Para verificar que los registros DNS estén configurados correctamente, puedes utilizar el comando de PowerShell Resolve-DnsName o instalar BIND.

Note

Los cambios de DNS pueden tardar hasta 24 horas en propagarse.

Configurar un dominio apex

Para configurar un dominio apex, como example.com, debes configurar un dominio personalizado en la configuración del repositorio y al menos un registro ALIAS, ANAME o A con el proveedor de DNS.

  1. En GitHub, navega al repositorio de tu sitio.

  2. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Código y automatización" de la barra lateral, haz clic en Páginas.

  4. En "Dominio personalizado", escribe el nombre de tu dominio personalizado y, a continuación, haz clic en Guardar. Si publicas el sitio desde una rama, se creará una confirmación que agrega un archivo CNAME directamente a la raíz de la rama de origen. Si vas a publicar el sitio con un flujo de trabajo personalizado GitHub Actions, no se crea ningún archivo CNAME, por lo que debes crear uno manualmente (que contenga solo una línea de texto con el dominio personalizado). Para más información sobre el origen de publicación, consulta Configurar una fuente de publicación para tu sitio de Páginas de GitHub.

  5. Desplázate hasta el proveedor DNS y crea un registro ALIAS, ANAME o A. También puedes crear registros AAAA para la compatibilidad con IPv6. Si va a implementar la compatibilidad con IPv6, se recomienda usar un registro A además del registro AAAA, debido a la lenta adopción de IPv6 globalmente. Para obtener más información acerca de cómo crear el registro correcto, consulta la documentación de tu proveedor de DNS.

    • Para crear un registro ALIAS o ANAME, apunta el dominio apex al dominio predeterminado del sitio. Para más información sobre el dominio predeterminado de tu sitio, consulta "Acerca de GitHub Pages".

    • Para crear registros A, apunta el dominio apex a las direcciones IP de GitHub Pages.

      185.199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
      
    • Para crear registros AAAA, apunta el dominio apex a las direcciones IP de GitHub Pages.

      2606:50c0:8000::153
      2606:50c0:8001::153
      2606:50c0:8002::153
      2606:50c0:8003::153
      

    Warning

    Se recomienda encarecidamente no usar registros DNS comodín, como *.example.com. Estos registros te ponen en riesgo inmediato de adquisición de dominio, incluso si compruebas el dominio. Por ejemplo, si compruebas example.com, esto impide que alguien use a.example.com, pero todavía podrían hacerse cargo de b.a.example.com (que está cubierto por el registro DNS con caracteres comodín). Para obtener más información, vea «Verificar tu dominio personalizado para GitHub Pages».

  6. Abra TerminalTerminalGit Bash.

  7. Para confirmar que el registro DNS se ha configurado correctamente, usa el comando dig, reemplazando EXAMPLE.COM por tu dominio apex. Confirma que los resultados coincidan con las direcciones IP de las GitHub Pages que aparecen arriba.

    • Para registros A:

      $ dig EXAMPLE.COM +noall +answer -t A
      > EXAMPLE.COM    3600    IN A     185.199.108.153
      > EXAMPLE.COM    3600    IN A     185.199.109.153
      > EXAMPLE.COM    3600    IN A     185.199.110.153
      > EXAMPLE.COM    3600    IN A     185.199.111.153
      
    • Para registros AAAA:

      $ dig EXAMPLE.COM +noall +answer -t AAAA
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8000::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8001::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8002::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8003::153
      

      Recuerde también comprobar el registro A.

  8. Si usa un generador de sitios estáticos para crear el sitio localmente e inserta los archivos generados a GitHub, extraiga la confirmación que ha agregado el archivo CNAME al repositorio local. Para obtener más información, vea «Solucionar problemas de dominios personalizados y Páginas de GitHub».

  9. Opcionalmente, para aplicar cifrado HTTPS en el sitio, seleccione Enforce HTTPS. Puede tomar hasta 24 horas antes de que esta opción se encuentre disponible. Para obtener más información, vea «Asegurar tu sitio de Páginas de GitHub con HTTPS».

Configuración de un dominio apex y la variante de subdominio www

Note

Se recomienda configurar un subdominio www junto con un dominio apex para sitios web protegidos por HTTPS.

Si usa un dominio de vértice como el dominio personalizado, también se recomienda configurar un subdominio www. Si configuras los registros correctos para cada dominio, teclea a tu proveedor de DNS, GitHub Pages creará automáticamente redireccionamientos entre los dominios. Por ejemplo, si configura www.example.com como dominio personalizado para el sitio y tiene registros DNS de GitHub Pages configurados para los dominios de vértice y www, example.com se redirigirá a www.example.com. Tenga en cuenta que las redirecciones automáticas solo se aplican al subdominio www. Las redirecciones automáticas no se aplican a ningún otro subdominio, como blog. Para obtener más información, consulta Configuración de un subdominio.

Desplázate hasta tu proveedor DNS y crea un registro CNAME para el subdominio www que apunte a tu dominio predeterminado de GitHub Pages. Por ejemplo, si el sitio se encuentra en <user>.github.io, debes crear un registro CNAME que apunte www.example.com a <user>.github.io De igual forma, para un sitio de organización ubicado en <organization>.github.io, debes crear un registro CNAME que apunte www.example.com a <organization>.github.io. Asegúrate de que el registro CNAME apunta directamente a <user>.github.io o <organization>.github.io sin incluir el nombre del repositorio.

Para obtener más información acerca de cómo crear el registro correcto, consulta la documentación de tu proveedor de DNS. Para más información sobre el dominio predeterminado de tu sitio, consulta "Acerca de GitHub Pages".

Configurar un subdominio

Para configurar un www o subdominio personalizado, como www.example.com o blog.example.com, debes agregar el dominio en la configuración del repositorio. Después de esto, configura un registro de CNAME con tu proveedor de DNS.

  1. En GitHub, navega al repositorio de tu sitio.

  2. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Código y automatización" de la barra lateral, haz clic en Páginas.

  4. En "Dominio personalizado", escribe el nombre de tu dominio personalizado y, a continuación, haz clic en Guardar. Si publicas el sitio desde una rama, se creará una confirmación que agrega un archivo CNAME directamente a la raíz de la rama de origen. Si vas a publicar el sitio con un flujo de trabajo personalizado GitHub Actions, no se crea ningún archivo CNAME, por lo que debes crear uno manualmente (que contenga solo una línea de texto con el dominio personalizado). Para más información sobre el origen de publicación, consulta Configurar una fuente de publicación para tu sitio de Páginas de GitHub.

    Note

    Si el dominio personalizado es un nombre de dominio internacionalizado, debes escribir la versión codificada de Punycode.

    Para más información sobre Punycodes, consulta Nombre de dominio internacionalizado.

  5. Desplázate hasta tu proveedor DNS y crea un registro CNAME que apunte tu subdominio al dominio predeterminado de tu sitio. Por ejemplo, si quieres usar el subdominio www.example.com para el sitio de usuario, crea un registro CNAME que dirija www.example.com a <user>.github.io. Si quieres usar el subdominio another.example.com para el sitio de la organización, crea un registro CNAME que dirija another.example.com a <organization>.github.io. El registro CNAME siempre debe apuntar a <user>.github.io o <organization>.github.io, excepto el nombre del repositorio. Para obtener más información acerca de cómo crear el registro correcto, consulta la documentación de tu proveedor de DNS. Para más información sobre el dominio predeterminado de tu sitio, consulta "Acerca de GitHub Pages".

    Warning

    Se recomienda encarecidamente no usar registros DNS comodín, como *.example.com. Estos registros te ponen en riesgo inmediato de adquisición de dominio, incluso si compruebas el dominio. Por ejemplo, si compruebas example.com, esto impide que alguien use a.example.com, pero todavía podrían hacerse cargo de b.a.example.com (que está cubierto por el registro DNS con caracteres comodín). Para obtener más información, vea «Verificar tu dominio personalizado para GitHub Pages».

  6. Abra TerminalTerminalGit Bash.

  7. Para confirmar que el registro DNS se ha configurado correctamente, usa el comando dig y reemplaza WWW.EXAMPLE.COM por el subdominio.

    $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd
    > ;WWW.EXAMPLE.COM.                    IN      A
    > WWW.EXAMPLE.COM.             3592    IN      CNAME   YOUR-USERNAME.github.io.
    > YOUR-USERNAME.github.io.      43192   IN      CNAME   GITHUB-PAGES-SERVER .
    > GITHUB-PAGES-SERVER .         22      IN      A       192.0.2.1
    
  8. Si usa un generador de sitios estáticos para crear el sitio localmente e inserta los archivos generados a GitHub, extraiga la confirmación que ha agregado el archivo CNAME al repositorio local. Para obtener más información, vea «Solucionar problemas de dominios personalizados y Páginas de GitHub».

  9. Opcionalmente, para aplicar cifrado HTTPS en el sitio, seleccione Enforce HTTPS. Puede tomar hasta 24 horas antes de que esta opción se encuentre disponible. Para obtener más información, vea «Asegurar tu sitio de Páginas de GitHub con HTTPS».

    Note

    Si apuntas tu subdominio personalizado al dominio apex, tendrás problemas con la aplicación de HTTPS en tu sitio web y puede que incluso el subdominio no pueda acceder en absoluto al sitio de GitHub Pages.

Registros DNS para el dominio personalizado

Si estás familiarizado con el proceso de configuración del dominio para un sitio de GitHub Pages, puedes usar la tabla siguiente para encontrar los valores DNS de tu escenario específico y los tipos de registro DNS que admite el proveedor de DNS. Para obtener más información, incluido cómo configurar el sitio de GitHub Pages en GitHub y cómo comprobar la configuración mediante el comando dig, consulta las secciones anteriores.

Para configurar un dominio apex, solo tiene que elegir un único tipo de registro DNS de la tabla siguiente. Para configurar un dominio apex y un subdominio www (por ejemplo, example.com y www.example.com), configure el dominio apex y, a continuación, el subdominio. Para obtener más información, consulta Configuración de un dominio apex y la variante de subdominio www.

Warning

Se recomienda encarecidamente no usar registros DNS comodín, como *.example.com. Estos registros te ponen en riesgo inmediato de adquisición de dominio, incluso si compruebas el dominio. Por ejemplo, si compruebas example.com, esto impide que alguien use a.example.com, pero todavía podrían hacerse cargo de b.a.example.com (que está cubierto por el registro DNS con caracteres comodín). Para obtener más información, vea «Verificar tu dominio personalizado para GitHub Pages».

EscenarioTipo de registros DNSNombre del registro DNSValores del registro DNS
Dominio de Apex
(example.com)
A@185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Dominio de Apex
(example.com)
AAAA@2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153
Dominio de Apex
(example.com)
ALIAS o ANAME@USERNAME.github.io o
ORGANIZATION.github.io
Subdominio
(www.example.com,
blog.example.com)
CNAMESUBDOMAIN.example.com.USERNAME.github.io o
ORGANIZATION.github.io

Eliminar un dominio personalizado

Si recibes un error sobre un dominio personalizado que se está tomando, es posible que tengas que quitar el dominio personalizado de otro repositorio.

  1. En GitHub, navega al repositorio de tu sitio.

  2. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Código y automatización" de la barra lateral, haz clic en Páginas.

  4. En "Dominio personalizado", haz clic en Quitar.

    Captura de pantalla de un cuadro de configuración para guardar o quitar un dominio personalizado en GitHub Pages . A la derecha de un cuadro de texto que dice "example.com" es un botón con la etiqueta "Quitar" en el tipo rojo.

Asegurar tu dominio personalizado

Si se inhabilita tu sitio de GitHub Pages pero este tiene configurado un dominio personalizado, está en riesgo de que lo tomen. La configuración de tu dominio personalizado con tu proveedor DNS mientras tu sitio está inhabilitado, podría hacer que alguien más aloje un sitio en un o de tus subdominios.

El verificar tu dominio personalizado previene que otros usuarios de GitHub lo utilicen con sus repositorios. Si tu dominio no está verificado y tu sitio de GitHub Pages está inhabilitado, deberías actualizar o eliminar tus registros de DNS inmediatamente con tu proveedor de DNS. Para más información, consulta Verificar tu dominio personalizado para GitHub Pages.

Información adicional