Skip to main content
Skip to content

Administración de un dominio personalizado para el sitio de GitHub Pages

Puede configurar o actualizar determinados registros DNS y la configuración del repositorio para que apunte el dominio predeterminado del GitHub Pages sitio a un dominio personalizado.

¿Quién puede utilizar esta característica?

GitHub Pages 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, GitHub Enterprise Cloud, y GitHub Enterprise Server. Consulte planes de GitHub.

Platform navigation

Los usuarios con permisos de administrador para un repositorio pueden configurar un dominio personalizado para un GitHub Pages sitio.

Acerca de la configuración de dominios personalizados

Sugerencia

Se recomienda comprobar el dominio personalizado antes de agregarlo al repositorio para mejorar la seguridad y evitar ataques de toma de control. Para más información, consulta Comprobación del dominio personalizado para GitHub Pages.

Asegúrese de agregar el dominio personalizado al GitHub Pages sitio antes de configurar el dominio personalizado con el proveedor dns. Configurar tu dominio personalizado con tu proveedor de DNS sin añadir tu dominio personalizado a GitHub podría hacer que otra persona pudiera alojar un sitio en uno de tus subdominios.

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

Nota:

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. Debajo del nombre del repositorio, haz clic en Settings. 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, planeación y automatización" de la barra lateral, haga 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 va a publicar desde un flujo de trabajo GitHub Actions personalizado, no se crea ningún archivo CNAME, y cualquier archivo CNAME existente se ignora y no es necesario. Para más información sobre el origen de publicación, consulta Configuración de un origen de publicación para el sitio de GitHub Pages.

  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, dirige el dominio apex al dominio predeterminado de tu sitio. Para más información sobre el dominio predeterminado de tu sitio, consulta ¿Qué es GitHub Pages?.

    • Para crear registros A, apunte su dominio raíz 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, apunte su dominio raíz a las direcciones IP de GitHub Pages.

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

Nota:

Si el proveedor de DNS establece automáticamente un registro predeterminado, quítalo antes de continuar.

Advertencia

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).

  1. Abra TerminalTerminalGit Bash.

  2. Para confirmar que el registro DNS se ha configurado correctamente, usa el comando dig, reemplazando EXAMPLE.COM por tu dominio apex. Confirme que los resultados coinciden con las direcciones GitHub Pages IP anteriores.

    • 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
      
  3. Si usas un generador de sitios estáticos para crear el sitio localmente e insertas los archivos generados en GitHub, extrae la confirmación que ha agregado el archivo CNAME al repositorio local. Para más información, consulta Solución de problemas de dominios personalizados y páginas de GitHub.

  4. 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 más información, consulta Protección del sitio de GitHub Pages con HTTPS.

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

Nota:

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. Si en su lugar configura example.com como el dominio personalizado, www.example.com redirigirá a example.com. Las redirecciones automáticas también se aplican a otros subdominios, ya que www.blog.example.com redirigirá a blog.example.com o viceversa. No es posible configurar un dominio que empiece por www.www.. Para obtener más información, consulte Configuración de un subdominio.

Vaya al proveedor DNS y cree un CNAME registro para el www subdominio que apunte al GitHub Pages dominio predeterminado. 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.

Estos CNAME valores de registro son los mismos para los sitios publicados GitHub Pages pública y privadamente. Los sitios publicados de forma privada están disponibles con GitHub Enterprise Cloud.

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 ¿Qué es 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. Debajo del nombre del repositorio, haz clic en Settings. 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, planeación y automatización" de la barra lateral, haga 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 va a publicar desde un flujo de trabajo GitHub Actions personalizado, no se crea ningún archivo CNAME, y cualquier archivo CNAME existente se ignora y no es necesario. Para más información sobre el origen de publicación, consulta Configuración de un origen de publicación para el sitio de GitHub Pages.

    Nota:

    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 ¿Qué es GitHub Pages?.

    Estos CNAME valores de registro son los mismos para los sitios publicados GitHub Pages pública y privadamente. No dirija el registro CNAME al subdominio único *.pages.github.io que se muestra en la configuración GitHub Pages de su repositorio. Los sitios publicados de forma privada están disponibles con GitHub Enterprise Cloud. Para obtener más información, consulte Cambiar la visibilidad de tu sitio de GitHub Pages.

    Advertencia

    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).

  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 usas un generador de sitios estáticos para crear el sitio localmente e insertas los archivos generados en GitHub, extrae la confirmación que ha agregado el archivo CNAME al repositorio local. Para más información, consulta Solución de 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 más información, consulta Protección del sitio de GitHub Pages con HTTPS.

    Nota:

    Si dirige su subdominio personalizado a su dominio raíz, tendrá problemas para forzar HTTPS en su sitio web, y también puede ocurrir que su subdominio no llegue en absoluto a su sitio GitHub Pages.

Registros DNS para el dominio personalizado

Si está familiarizado con el proceso de configuración del dominio para un GitHub Pages sitio, puede usar la tabla siguiente para buscar los valores DNS de su escenario específico y los tipos de registro DNS que admite el proveedor de DNS. Para obtener más información, incluida la forma de configurar su sitio GitHub Pages en GitHub y de verificar la configuración mediante el comando dig, consulte las secciones anteriores.

Para configurar un dominio apex, agrega todos los registros A y AAAA de la tabla siguiente, o bien agregue solo el registro ALIAS/ANAME de la tabla. 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.

Advertencia

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).

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. Debajo del nombre del repositorio, haz clic en Settings. 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, planeación y automatización" de la barra lateral, haga clic en Páginas.

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

    Recorte de pantalla de un dominio personalizado. A la derecha de un cuadro de texto que dice "example.com" y un botón "Guardar" hay un botón con la etiqueta "Quitar" y texto 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 obtener más información, consulte Comprobación del dominio personalizado para GitHub Pages.

Información adicional