Tengo una gh-pages
sucursal 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.com
servir 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-pages
documentos dicen que haga un CNAME
registro 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-pages
rama que quiero usar para myexample.com
y 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.com
serán redirigidas a https://www.example.com (o http: // si elige NO usar HTTPS). Siempre usowww
como 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 Pages
sección. Tienes dos opciones:master branch
tratará/README.md
como tu webindex.html
. Elegirmaster branch /docs folder
tratará/docs/README.md
como tu webindex.html
.Your site is ready to be published at
Paso 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.com
se redirigirá aexample.com
www.example.com
,example.com
se redirigirá awww.example.com
.Como se mencionó anteriormente, recomiendo siempre aterrizar en,
www
así que entréwww.example.com
como se muestra arriba.Paso 3: crear entradas DNS
En la consola web de su proveedor de DNS, cree cuatro
A
registros y unoCNAME
.A
Registros 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 losA
registros para crear:CNAME
registro para apuntar www.example.comYOUR-GITHUB-USERNAME.github.io
.Esta es la parte más confusa.
Tenga en cuenta el
YOUR-GITHUB-USERNAME
NO el nombre del repositorio de GitHub El valor deYOUR-GITHUB-USERNAME
está determinado por este gráfico .Para un sitio de páginas de usuario (muy probablemente lo que eres), la
CNAME
entrada seráusername.github.io
, por ejemplo:Para un sitio de páginas de Organización , la
CNAME
entrada seráorgname.github.io
, por ejemplo:Paso 5: confirme las entradas DNS
Confirme sus
A
registros ejecutandodig +noall +answer example.com
. Debería devolver las cuatro185.x.x.x
direcciones IP que ingresó.Confirma tu
CNAME
registro al ejecutardig www.example.com +nostats +nocomments +nocmd
. Debería devolver unCNAME YOUR-GITHUB-USERNAME.github.io
Puede 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.com
y debería redirigir ahttp://www.example.com
Paso 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 HTTPS
casilla de verificación, que indica que aún se está procesando, deberá esperar. También es posible que deba presionar elsave
botón en laCustom domain
sección para iniciar elEnforce HTTPS
procesamiento.Una vez que se completa el procesamiento, debería verse así:
Simplemente haga clic en la
Enforce HTTPS
casilla 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
www
redirigir 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.cname
registros. Uno para el ápice raíz (@) y otro para www. Ambos apuntan aYOURusername.github.io
. Si su proveedor de DNS NO admiteALIAS
registros en el vértice raíz (@), simplemente creeA
registros que apunten192.30.252.153
y192.30.252.154
Espere hasta que sus servidores de nombres se actualicen:
dig yourdomain.com +nostats +nocomments +nocmd
fuente
204.232.175.78
como 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/projectname
awww.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 .
A
Record es exactamente lo mismo peroCNAME
parawww
, 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
www
tonon www
o 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
master
ygh-pages
ramas similares a las que enumeré a continuación van al dominio preferido:Maestro
Al crear un
CNAME
archivo en lamaster
rama (verifíquelo en mi repositorio de usuario ).gh-pages
Al crear el mismo
CNAME
archivo en lagh-pages
rama (verifíquelo en el repositorio de mi proyecto ).Además del
CNAME
archivo anterior, es posible que deba omitir por completo el procesamiento de Jekyll en las páginas de GitHub creando un archivo nombrado.nojekyll
en la raíz de su repositorio de páginas.fuente