Dominio personalizado para páginas de proyectos de GitHub
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 mostrará 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 que cree un registro A y un registro CNAME en su DNS. El registro A tiene sentido, pero no sé qué registro CNAME crear en mi DNS.
Los gh-pages
documentos dicen que se debe crear 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 crear un repositorio de páginas de usuario solo para poder usar la página de mi proyecto para www.myexample.com y myexample.com?
Lo intentaría, pero quiero asegurarme de que funcione porque ya tengo www.myexample.com activo y no quiero cometer un error.
Envié un correo electrónico al soporte de GitHub y su respuesta fue
Hasta donde yo sé, no se puede hacer que ambos apunten a las mismas páginas de gh.
Me cuesta creer que solo admitan registros A para páginas de proyectos.
¿Alguien ha hecho esto con éxito antes?
23/01/19 ACTUALIZACIÓN:
Las cosas han cambiado bastante (para mejor) desde mi última respuesta. Esta respuesta actualizada le mostrará cómo configurar:
- Ápice de la raíz (ejemplo.com)
- Subdominio ( www.ejemplo.com )
- HTTPS (opcional pero muy recomendable)
Al final, todas las solicitudes example.com
serán redirigidas a https://www.example.com (o http:// si elige NO utilizar HTTPS). Siempre lo uso www
como aterrizaje final. Por qué ( 1 , 2 ) es para otra discusión.
Esta respuesta es larga pero no complicada . Fui detallado para mayor 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
- Desde su repositorio, haga clic en la pestaña
- Desplázate hacia abajo hasta la
GitHub Pages
sección. Tienes dos opciones: - Al elegirlo
master branch
tratarás/README.md
como tu webindex.html
. Al elegirlomaster branch /docs folder
tratarás/docs/README.md
como tu webindex.html
. - Elige un tema.
- Espere un minuto mientras GitHub publica su sitio. Verifique que funciona haciendo clic en el enlace al lado de
Your site is ready to be published at
Paso 2: especificar un 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.
- Si el dominio personalizado que agregó a su sitio de GitHub Pages es
example.com
, entonceswww.example.com
lo redirigirá aexample.com
- Si el dominio personalizado que agregó a su sitio de GitHub Pages es
www.example.com
, seexample.com
redireccionará awww.example.com
.
Como mencioné antes, recomiendo siempre aterrizar en www
así que entré www.example.com
como se muestra en la foto de arriba.
Paso 3: crear entradas DNS
En la consola web de su proveedor de DNS, cree cuatro A
registros y un archivo CNAME
.
A
Registros para@
(también conocido como ápice de la 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 los A
registros a crear:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Consulte los documentos de Github para confirmar que estas son las IP más actualizadas.
- Cree un
CNAME
registro para señalar www.example.com aYOUR-GITHUB-USERNAME.github.io
.
Esta es la parte más confusa.
¡ Tenga en cuenta que YOUR-GITHUB-USERNAME
NO es el nombre del repositorio de GitHub! El valor de YOUR-GITHUB-USERNAME
está determinado por este gráfico .
Para un sitio de páginas de usuario (muy probablemente lo que usted es), CNAME
la entrada será username.github.io
, por ejemplo:
Para un sitio de páginas de organización , CNAME
la entrada será orgname.github.io
, por ejemplo:
Paso 5: Confirmar 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 ejecutandodig www.example.com +nostats +nocomments +nocmd
. Debería devolver unCNAME YOUR-GITHUB-USERNAME.github.io
Estas entradas DNS pueden tardar aproximadamente una hora en resolverse o propagarse. 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 el dominio personalizado esté 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. Es posible que también deba presionar el save
botón en la Custom domain
sección para iniciar el Enforce 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 a https://example.com
. Debería redirigir y abrir.https://www.example.com
¡ESO ES TODO!
GitHub mantendrá automáticamente actualizado su certificado HTTPS Y debería manejar el vértice para www
redirigir a través de HTTPS.
Descripción general
La documentación es un poco confusa cuando se trata de páginas de proyecto , a diferencia de las páginas de usuario . Parece que deberías tener que hacer más, pero en realidad el proceso es muy sencillo.
Implica:
- Configuración de 2 registros A estáticos para el dominio simple (sin www).
- Crear un registro CNAME para www que apuntará a una URL de GitHub. Esto manejará la redirección www por usted.
- Creando un archivo llamado CNAME (en mayúscula) en la raíz de su proyecto en la rama gh-pages. Esto le dirá a Github a qué URL responder.
- Espere a que todo se propague.
lo que obtendrás
Su contenido se entregará desde una URL con el formato 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 .
Puedes tener una página de proyecto por repositorio, de modo que si tus repositorios están abiertos, puedes tener tantas como quieras.
Aquí está el proceso:
1. Crear registros A
Para los registros A, apunte @ a las siguientes direcciones IP:
@: 185.199.108.153
@: 185.199.109.153
@: 185.199.110.153
@: 185.199.111.153
Estas son las direcciones IP estáticas de Github desde las que se entregará su contenido.
2. Cree un registro CNAME
Para el registro CNAME, apunte www a sunombredeusuario.github.io. Tenga en cuenta el punto final. Tenga en cuenta también que este es el nombre de usuario, no el nombre del proyecto . No es necesario especificar el nombre del proyecto todavía. Github utilizará el archivo CNAME para determinar desde qué proyecto servir contenido.
p.ej
www: forwardadvance.github.io.
El propósito del 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. Crea un archivo CNAME
Agregue un archivo llamado CNAME a la raíz de su proyecto en la rama gh-pages. Este debe contener el dominio que desea servir. Asegúrate de comprometerte y presionar.
p.ej
nicholasjohnson.com
Este archivo le indica a GitHub que use este repositorio para manejar el tráfico a este dominio.
4. Espera
Ahora espera 5 minutos, la página de tu proyecto debería estar activa.