Tengo una gh-pagessucursal en uno de mis repositorios http://github.com . Las páginas del proyecto GitHub funcionan bien si voy a http://myuser.github.com/myrepo
Quiero configurar un dominio personalizado (myexample.com) que sirva para las páginas de este proyecto. Quiero ambos myexample.com y www.myexample.comservir estas páginas del proyecto.
La ayuda de las páginas de GitHub dice hacer un registro A y un registro CNAME en su DNS. El registro A tiene sentido, pero no sé qué registro CNAME hacer en mi DNS.
Los gh-pagesdocumentos dicen que haga un CNAMEregistro para 'charlie.github.com', que es un repositorio de páginas de usuario. No tengo un repositorio de páginas de usuario: solo tengo un repositorio de proyectos y una gh-pagesrama que quiero usar para myexample.comy www.myexample.com.
¿Necesito hacer un repositorio de página de usuario para poder usar mi página de proyecto para www.myexample.com y myexample.com?
Simplemente lo probaría, pero quiero asegurarme de que esto funcione ya que tengo www.myexample.com en vivo y no quiero cometer un error.
Envié un correo electrónico al soporte de GitHub y su respuesta fue
Por lo que sé, no puede hacer que ambos apunten a las mismas páginas gh.
Me resulta difícil creer que solo admitan registros A para las páginas del proyecto.
¿Alguien ha hecho esto con éxito antes?

Respuestas:
23/01/19 ACTUALIZACIÓN:
Las cosas han cambiado bastante (para mejor) desde mi última respuesta. Esta respuesta actualizada le mostrará cómo configurar:
Al final, todas las solicitudes
example.comserán redirigidas a https://www.example.com (o http: // si elige NO usar HTTPS). Siempre usowwwcomo mi aterrizaje final. Por qué ( 1 , 2 ), es para otra discusión.Esta respuesta es larga pero es no complicado. Fui prolijo por claridad, ya que los documentos de GitHub sobre este tema no son claros ni lineales.
Paso 1: habilite las páginas de GitHub en la configuración de GitHub
GitHub Pagessección. Tienes dos opciones:master branchtratará/README.mdcomo tu webindex.html. Elegirmaster branch /docs foldertratará/docs/README.mdcomo tu webindex.html.Your site is ready to be published atPaso 2: especifique el dominio personalizado en la configuración de GitHub
Ingrese su nombre de dominio personalizado aquí y presione
save:Este es un paso sutil pero importante.
example.com,www.example.comse redirigirá aexample.comwww.example.com,example.comse redirigirá awww.example.com.Como se mencionó anteriormente, recomiendo siempre aterrizar en,
wwwasí que entréwww.example.comcomo se muestra arriba.Paso 3: crear entradas DNS
En la consola web de su proveedor de DNS, cree cuatro
Aregistros y unoCNAME.ARegistros para@(también conocido como apex de raíz):Algunos proveedores de DNS le pedirán que especifique
@, otros (como AWS Route 53) dejará el subdominio en blanco para indicar@. En cualquier caso, estos son losAregistros para crear:CNAMEregistro para apuntar www.example.comYOUR-GITHUB-USERNAME.github.io.Esta es la parte más confusa.
Tenga en cuenta el
YOUR-GITHUB-USERNAMENO el nombre del repositorio de GitHub El valor deYOUR-GITHUB-USERNAMEestá determinado por este gráfico .Para un sitio de páginas de usuario (muy probablemente lo que eres), la
CNAMEentrada seráusername.github.io, por ejemplo:Para un sitio de páginas de Organización , la
CNAMEentrada seráorgname.github.io, por ejemplo:Paso 5: confirme las entradas DNS
Confirme sus
Aregistros ejecutandodig +noall +answer example.com. Debería devolver las cuatro185.x.x.xdirecciones IP que ingresó.Confirma tu
CNAMEregistro al ejecutardig www.example.com +nostats +nocomments +nocmd. Debería devolver unCNAME YOUR-GITHUB-USERNAME.github.ioPuede tomar una hora más o menos para que estas entradas DNS se resuelvan / propaguen. Una vez que lo hagan, abra su navegador
http://example.comy debería redirigir ahttp://www.example.comPaso 6: Configuración SSL (HTTPS). Opcional, pero muy recomendable.
Una vez que tenga el dominio personalizado funcionando, regrese a la configuración del repositorio. Si ya tiene la página de configuración abierta, actualice la página.
Si hay un mensaje debajo de la
Enforce HTTPScasilla de verificación, que indica que aún se está procesando, deberá esperar. También es posible que deba presionar elsavebotón en laCustom domainsección para iniciar elEnforce HTTPSprocesamiento.Una vez que se completa el procesamiento, debería verse así:
Simplemente haga clic en la
Enforce HTTPScasilla de verificación y apunte su navegador ahttps://example.com. Debe redirigir y abrirhttps://www.example.com¡ESO ES!
GitHub mantendrá automáticamente actualizado su certificado HTTPS Y debería manejar el vértice para
wwwredirigir a través de HTTPS.¡¡Espero que esto ayude!!
...
Respuesta anterior (anterior al 23/01/19)
Entonces lo descubrí. James McLaughlin me dio el empujón que necesitaba.
Para configurar un dominio personalizado para un repositorio de páginas de proyecto de gh-pages que maneje www.yourdomain.com y yourdomain.com (se supone que ya tiene una rama de gh-pages en su repositorio):
yourdomain.com. Comprometerse luego empujar.cnameregistros. Uno para el ápice raíz (@) y otro para www. Ambos apuntan aYOURusername.github.io. Si su proveedor de DNS NO admiteALIASregistros en el vértice raíz (@), simplemente creeAregistros que apunten192.30.252.153y192.30.252.154Espere hasta que sus servidores de nombres se actualicen:
dig yourdomain.com +nostats +nocomments +nocmdfuente
204.232.175.78como dirección IP.Visión general
La documentación es un poco confusa cuando se trata de páginas de proyectos , a diferencia de las páginas de usuarios. . Parece que debería hacer más, pero en realidad el proceso es muy fácil.
Implica:
Lo que obtendrás
Su contenido será servido desde una URL de la forma http://nicholasjohnson.com .
Visitar http://www.nicholasjohnson.com devolverá una redirección 301 al dominio simple.
La ruta será respetada por la redirección, por lo que el tráfico a http://www.nicholasjohnson.com/angular se redirigirá a http://nicholasjohnson.com/angular .
Puede tener una página de proyecto por repositorio, por lo que si sus repositorios están abiertos, puede tener tantos como desee.
Aquí está el proceso:
1. Crear registros A
Para los registros A, señale @ a las siguientes direcciones IP:
Estas son las direcciones IP estáticas de Github desde las cuales se servirá su contenido.
2. Crear un registro CNAME
Para el registro CNAME, apunte www a yourusername.github.io. Tenga en cuenta el punto final final. Tenga en cuenta también que este es el nombre de usuario, no el nombre del proyecto . No necesita especificar el nombre del proyecto todavía. Github usará el archivo CNAME para determinar desde qué proyecto servir el contenido.
p.ej
El propósito de CNAME es redirigir todo el tráfico del subdominio www a una página de GitHub que redirigirá 301 al dominio simple.
Aquí hay una captura de pantalla de la configuración que uso para mi propio sitio http://nicholasjohnson.com :
3. Crear un archivo CNAME
Agregue un archivo llamado CNAME a la raíz de su proyecto en la rama gh-pages. Esto debe contener el dominio que desea servir. Asegúrate de comprometerte y empujar.
p.ej
Este archivo le dice a GitHub que use este repositorio para manejar el tráfico a este dominio.
4. espera
Ahora espere 5 minutos, la página de su proyecto ahora debería estar activa.
fuente
yourUserName.github.io.Archivo CNAME en gh-pages rama tendrá una línea:
www.mydomain.com(en vez demydomain.com)No importa cuál sea su preferencia en la redirección (en otras palabras, no importa lo que esté en su archivo CNAME en la rama gs-pages), con su proveedor de DNS , debe configurarlo así:
fuente
Respuesta corta
Estas explicaciones detalladas son geniales, pero la confusión del OP (y mi) podría resolverse con una frase: "DNS directo a su nombre de usuario u organización de GitHub , ignorando el proyecto específico y agregue los archivos CNAME apropiados en los repositorios de su proyecto: GitHub enviará el DNS correcto para el proyecto correcto basado en archivos en el repositorio " .
fuente
A partir del 29 de agosto de 2013, la documentación de Github afirma que:
fuente
username.github.io/projectnameawww.projectname.com.¡Las cosas son mucho más fáciles hoy en día!
fuente
Acabo de descubrir, después de un poco de frustración, que si está usando PairNIC , todo lo que tiene que hacer es habilitar la configuración de "Reenvío web" en "DNS personalizado" y proporcionar la dirección username.github.io/project y lo hará configura automáticamente los registros de ápice y subdominio para usted. Parece hacer exactamente lo que se sugiere en la respuesta aceptada. Sin embargo, no le permitirá hacer exactamente lo mismo agregando registros manualmente. Muy extraño. De todos modos, me tomó un tiempo darme cuenta, así que pensé en compartir para salvar a los demás del problema.
fuente
Me gustaría compartir mis pasos, que son un poco diferentes a los que ofrece rynop y superluminary .
ARecord es exactamente lo mismo peroCNAMEparawww, preferiría redirigirlo a mi dominio en blanco (non-www)Esta configuración se refiere a la guía del dominio preferido . La configuración de dominio de
wwwtonon wwwo viceversa puede ser diferente en cada uno de los proveedores de dominio. Como mi dominio está bajo GoDaddy, así que bajo la Configuración de dominio lo configuré usando el Reenvío de subdominio (301).Como resultado de apuntar el dominio al repositorio de Github, dará todas las URL para ambos
masterygh-pagesramas similares a las que enumeré a continuación van al dominio preferido:Maestro
Al crear un
CNAMEarchivo en lamasterrama (verifíquelo en mi repositorio de usuario ).gh-pages
Al crear el mismo
CNAMEarchivo en lagh-pagesrama (verifíquelo en el repositorio de mi proyecto ).Además del
CNAMEarchivo anterior, es posible que deba omitir por completo el procesamiento de Jekyll en las páginas de GitHub creando un archivo nombrado.nojekyllen la raíz de su repositorio de páginas.fuente