Skip to main content

Managing a custom domain for your GitHub Pages site

You can set up or update certain DNS records and your repository settings to point the default domain for your Páginas de GitHub site to a custom domain.

Páginas de GitHub se encuentra disponible en los repositorios públicos con GitHub Free y con GitHub Free para las organizaciones, y en los repositorios públicos y privados con GitHub Pro, GitHub Team, Nube de GitHub Enterprise, y GitHub Enterprise Server. Para obtener más información, consulta la sección "Productos de GitHub".

People with admin permissions for a repository can configure a custom domain for a Páginas de GitHub site.

About custom domain configuration

Make sure you add your custom domain to your Páginas de GitHub site before configuring your custom domain with your DNS provider. Configuring your custom domain with your DNS provider without adding your custom domain to GitHub could result in someone else being able to host a site on one of your subdomains.

The dig command, which can be used to verify correct configuration of DNS records, is not included in Windows. Before you can verify that your DNS records are configured correctly, you must install BIND.

Note: DNS changes can take up to 24 hours to propagate.

Configuring a subdomain

To set up a www or custom subdomain, such as www.example.com or blog.example.com, you must add your domain in the repository settings, which will create a CNAME file in your site’s repository. After that, configure a CNAME record with your DNS provider.

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

  2. Debajo de tu nombre de repositorio, da clic en Configuración. Botón de configuración del repositorio

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

  4. Under "Custom domain", type your custom domain, then click Save. This will create a commit that adds a CNAME file in the root of your publishing source. Save custom domain button

  5. Navigate to your DNS provider and create a CNAME record that points your subdomain to the default domain for your site. For example, if you want to use the subdomain www.example.com for your user site, create a CNAME record that points www.example.com to <user>.github.io. If you want to use the subdomain www.anotherexample.com for your organization site, create a CNAME record that points www.anotherexample.com to <organization>.github.io. The CNAME record should always point to <user>.github.io or <organization>.github.io, excluding the repository name. Para obtener más información acerca de cómo crear el registro correcto, consulta la documentación de tu proveedor de DNS. Para obtener más información acerca del dominio predeterminado para tu sitio, consulta la sección "Acerca de Páginas de GitHub".

    Advertencia: Es altamente recomendable no utilizar registros DNS comodines, como *.example.com. Un registro DNS comodín le permitirá a cualquiera que aloje un sitio Páginas de GitHub en uno de tus subdominios.

  6. Abre la TerminalTerminalGit Bash.

  7. To confirm that your DNS record configured correctly, use the dig command, replacing WWW.EXAMPLE.COM with your subdomain.

    $ 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 utilizas un generador de sitio estático para construir tu sitio localmente y subes los archivos generados a GitHub, extrae la confirmación que agregó el archivo CNAME a tu repositorio local. Para obtener más información, consulta la sección "Resolver problemas en dominios personalizados y en Páginas de GitHub".

  9. Opcionalmente, para requerir cifrado HTTPS para tu sitio, selecciona Requerir HTTPS. Puede tomar hasta 24 horas antes de que esta opción se encuentre disponible. Para obtener más información, consulta "Asegurar tu sitio de Páginas de GitHub con HTTPS". Opción de Requerir HTTPS para dominios personalizados

Configuring an apex domain

To set up an apex domain, such as example.com, you must configure a CNAME file in your Páginas de GitHub repository and at least one ALIAS, ANAME, or A record with your DNS provider.

Si estás utilizando un dominio apex como tu dominio personalizado, te recomendamos configurar un subdominio www. Si configuras los registros correctos para cada dominio, teclea a tu proveedor de DNS, Páginas de GitHub creará automáticamente redireccionamientos entre los dominios. Por ejemplo, sin configuras www.example.com como el dominio personalizado de tu sitio y tienes configurados los dominios de DNS de Páginas de GitHub para los dominios de apex y www, entonces, example.com te redirigirá a www.example.com. Nota que las redirecciones automáticas solo aplican al subdominio www. Las redirecciones automáticas no aplican a ningún otro subdominio, tal como blog. For more information, see "Configuring a subdomain."

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

  2. Debajo de tu nombre de repositorio, da clic en Configuración. Botón de configuración del repositorio

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

  4. Under "Custom domain", type your custom domain, then click Save. This will create a commit that adds a CNAME file in the root of your publishing source. Save custom domain button

  5. Navigate to your DNS provider and create either an ALIAS, ANAME, or A record. You can also create AAAA records for IPv6 support. Para obtener más información acerca de cómo crear el registro correcto, consulta la documentación de tu proveedor de DNS.

    • To create an ALIAS or ANAME record, point your apex domain to the default domain for your site. Para obtener más información acerca del dominio predeterminado para tu sitio, consulta la sección "Acerca de Páginas de GitHub".
    • To create A records, point your apex domain to the IP addresses for Páginas de GitHub.
      185.199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
    • To create AAAA records, point your apex domain to the IP addresses for Páginas de GitHub.
      2606:50c0:8000::153
      2606:50c0:8001::153
      2606:50c0:8002::153
      2606:50c0:8003::153

    Advertencia: Es altamente recomendable no utilizar registros DNS comodines, como *.example.com. Un registro DNS comodín le permitirá a cualquiera que aloje un sitio Páginas de GitHub en uno de tus subdominios.

  6. Abre la TerminalTerminalGit Bash.

  7. To confirm that your DNS record configured correctly, use the dig command, replacing EXAMPLE.COM with your apex domain. Confirm that the results match the IP addresses for Páginas de GitHub above.

    • For A records.
      $ 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
    • For AAAA records.
      $ 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
  8. Si utilizas un generador de sitio estático para construir tu sitio localmente y subes los archivos generados a GitHub, extrae la confirmación que agregó el archivo CNAME a tu repositorio local. Para obtener más información, consulta la sección "Resolver problemas en dominios personalizados y en Páginas de GitHub".

  9. Opcionalmente, para requerir cifrado HTTPS para tu sitio, selecciona Requerir HTTPS. Puede tomar hasta 24 horas antes de que esta opción se encuentre disponible. Para obtener más información, consulta "Asegurar tu sitio de Páginas de GitHub con HTTPS". Opción de Requerir HTTPS para dominios personalizados

Configuring an apex domain and the www subdomain variant

When using an apex domain, we recommend configuring your Páginas de GitHub site to host content at both the apex domain and that domain's www subdomain variant.

To set up a www subdomain alongside the apex domain, you must first configure an apex domain by creating an ALIAS, ANAME, or A record with your DNS provider. For more information, see "Configuring an apex domain."

After you configure the apex domain, you must configure a CNAME record with your DNS provider.

  1. Navigate to your DNS provider and create a CNAME record that points www.example.com to the default domain for your site: <user>.github.io or <organization>.github.io. Do not include the repository name. Para obtener más información acerca de cómo crear el registro correcto, consulta la documentación de tu proveedor de DNS. Para obtener más información acerca del dominio predeterminado para tu sitio, consulta la sección "Acerca de Páginas de GitHub".
  2. To confirm that your DNS record configured correctly, use the dig command, replacing WWW.EXAMPLE.COM with your www subdomain variant.
    $ 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

Removing a custom domain

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

  2. Debajo de tu nombre de repositorio, da clic en Configuración. Botón de configuración del repositorio

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

  4. Under "Custom domain," click Remove. Save custom domain button

Securing your custom domain

Si se inhabilita tu sitio de Páginas de GitHub 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 Páginas de GitHub está inhabilitado, deberías actualizar o eliminar tus registros de DNS inmediatamente con tu proveedor de DNS. For more information, see "Verifying your custom domain for Páginas de GitHub."

Further reading