J'ai une gh-pages
succursale dans l'un de mes dépôts http://github.com . Les pages du projet GitHub fonctionnent bien si je vais sur http://myuser.github.com/myrepo
Je veux configurer un domaine personnalisé (monexemple.com) qui servira à ces pages de projet. Je veux les deux myexample.com
et www.myexample.com
servir ces pages de projet.
L'aide des pages GitHub indique de créer un enregistrement A et un enregistrement CNAME dans votre DNS. L'enregistrement A est logique, mais je ne sais pas quel enregistrement CNAME faire dans mon DNS.
Les gh-pages
docs disent de faire un CNAME
enregistrement pour 'charlie.github.com' qui est un référentiel de page utilisateur. Je n'ai pas de référentiel de page utilisateur - je n'ai qu'un référentiel de projet et une gh-pages
branche que je souhaite utiliser pour myexample.com
et www.myexample.com
.
Dois-je créer un référentiel de pages utilisateur pour pouvoir utiliser ma page de projet pour www.myexample.com et myexample.com?
Je voudrais juste l'essayer, mais je veux m'assurer que cela fonctionnera car j'ai déjà www.myexample.com en direct et je ne veux pas faire d'erreur.
J'ai envoyé un e-mail au support GitHub et leur réponse a été
Pour autant que je sache, les deux pages ne peuvent pas pointer vers les mêmes pages gh.
J'ai du mal à croire qu'ils ne prendraient en charge que les enregistrements A pour les pages de projet.
Quelqu'un a-t-il déjà réussi cela?
Réponses:
MISE À JOUR DU 23/01/19:
Les choses ont un peu changé (pour le mieux) depuis ma dernière réponse. Cette réponse mise à jour vous montrera comment configurer:
Au final, toutes les demandes
example.com
seront redirigées vers https://www.example.com (ou http: // si vous choisissez de NE PAS utiliser HTTPS). J'utilise toujourswww
comme atterrissage final. Pourquoi ( 1 , 2 ), est pour une autre discussion.Cette réponse est longue mais n'est pas compliquée. J'étais bavard pour plus de clarté car les documents GitHub sur ce sujet ne sont pas clairs ou linéaires.
Étape 1: activer les pages GitHub dans les paramètres GitHub
GitHub Pages
section. Vous avez deux options:master branch
sera traité/README.md
comme votre site Webindex.html
. Choisirmaster branch /docs folder
sera traité/docs/README.md
comme votre site Webindex.html
.Your site is ready to be published at
Étape 2: spécifier un domaine personnalisé dans les paramètres GitHub
Saisissez votre nom de domaine personnalisé ici et cliquez sur
save
:Il s'agit d'une étape subtile mais importante.
example.com
, alorswww.example.com
redirigera versexample.com
www.example.com
,example.com
sera redirigé verswww.example.com
.Comme mentionné précédemment, je recommande de toujours atterrir à
www
donc je suis entréwww.example.com
comme illustré ci-dessus.Étape 3: créer des entrées DNS
Dans la console Web de votre fournisseur DNS, créez quatre
A
enregistrements et unCNAME
.A
Enregistrements pour@
(aka racine apex):Certains fournisseurs DNS vous demanderont de spécifier
@
, d'autres (comme AWS Route 53) vous laisserez le sous-domaine vide pour indiquer@
. Dans les deux cas, ce sont lesA
enregistrements à créer:CNAME
enregistrement vers lequel pointez www.example.comYOUR-GITHUB-USERNAME.github.io
.C'est la partie la plus déroutante.
Notez le
YOUR-GITHUB-USERNAME
NOT le nom du dépôt GitHub! La valeur deYOUR-GITHUB-USERNAME
est déterminée par ce graphique .Pour un site de pages utilisateur (probablement ce que vous êtes), l'
CNAME
entrée serausername.github.io
, par exemple:Pour un site de pages Organisation , l'
CNAME
entrée seraorgname.github.io
, par exemple:Étape 5: confirmer les entrées DNS
Confirmez vos
A
enregistrements en exécutantdig +noall +answer example.com
. Il doit renvoyer les quatre185.x.x.x
adresses IP que vous avez saisies.Confirme votre
CNAME
dossier en exécutantdig www.example.com +nostats +nocomments +nocmd
. Il doit renvoyer unCNAME YOUR-GITHUB-USERNAME.github.io
La résolution / propagation de ces entrées DNS peut prendre environ une heure. Une fois qu'ils l'ont fait, ouvrez votre navigateur
http://example.com
et il devrait rediriger vershttp://www.example.com
Étape 6: Configuration SSL (HTTPS). Facultatif, mais fortement recommandé
Une fois que le domaine personnalisé fonctionne, revenez aux paramètres de dépôt. Si la page des paramètres est déjà ouverte, actualisez la page en dur.
S'il y a un message sous la
Enforce HTTPS
case à cocher, indiquant qu'il est toujours en cours de traitement, vous devrez attendre. Vous devrez peut-être égalementsave
appuyer sur le bouton dans laCustom domain
section pour lancer leEnforce HTTPS
traitement.Une fois le traitement terminé, il devrait ressembler à ceci:
Cliquez simplement sur la
Enforce HTTPS
case à cocher et pointez votre navigateur vershttps://example.com
. Il doit rediriger et ouvrirhttps://www.example.com
C'EST ÇA!
GitHub gardera automatiquement votre certificat HTTPS à jour ET devrait gérer l'apex pour
www
rediriger via HTTPS.J'espère que cela t'aides!!
...
Ancienne réponse (avant le 23/01/19)
Alors je l'ai compris. James McLaughlin m'a donné le coup de pouce dont j'avais besoin.
Pour configurer un domaine personnalisé pour un référentiel de pages de projet gh-pages qui gère www.votredomaine.com et votredomaine.com (en supposant que vous avez déjà une branche gh-pages sur votre référentiel):
yourdomain.com
. Validez puis poussez.cname
enregistrements. Un pour l'apex racine (@) et un pour www. Les deux pointent du doigtYOURusername.github.io
. Si votre fournisseur DNS ne prend PAS en charge lesALIAS
enregistrements sur le sommet racine (@), créez simplement desA
enregistrements qui pointent vers192.30.252.153
et192.30.252.154
Attendez la mise à jour de vos serveurs de noms:
dig yourdomain.com +nostats +nocomments +nocmd
la source
204.232.175.78
comme adresse IP.Aperçu
La documentation est un peu déroutante en ce qui concerne les pages de projet , par opposition aux pages utilisateur . Il semble que vous devriez en faire plus, mais en fait, le processus est très facile.
Ça implique:
Ce que vous obtiendrez
Votre contenu sera servi à partir d'une URL du formulaire http://nicholasjohnson.com .
La visite de http://www.nicholasjohnson.com renverra une redirection 301 vers le domaine nu.
Le chemin sera respecté par la redirection, donc le trafic vers http://www.nicholasjohnson.com/angular sera redirigé vers http://nicholasjohnson.com/angular .
Vous pouvez avoir une page de projet par référentiel, donc si vos référentiels sont ouverts, vous pouvez en avoir autant que vous le souhaitez.
Voici le processus:
1. Créer des enregistrements A
Pour les enregistrements A, pointez @ vers les adresses IP suivantes:
Ce sont les adresses IP Github statiques à partir desquelles votre contenu sera servi.
2. Créez un enregistrement CNAME
Pour l'enregistrement CNAME, pointez www vers votrenomutilisateur.github.io. Notez le point final arrière. Notez également qu'il s'agit du nom d'utilisateur et non du nom du projet . Vous n'avez pas encore besoin de spécifier le nom du projet. Github utilisera le fichier CNAME pour déterminer à partir de quel projet servir le contenu.
par exemple
Le but du CNAME est de rediriger tout le trafic du sous-domaine www vers une page GitHub qui 301 redirigera vers le domaine nu.
Voici une capture d'écran de la configuration que j'utilise pour mon propre site http://nicholasjohnson.com :
3. Créez un fichier CNAME
Ajoutez un fichier nommé CNAME à la racine de votre projet dans la branche gh-pages. Celui-ci doit contenir le domaine que vous souhaitez servir. Assurez-vous de vous engager et de pousser.
par exemple
Ce fichier indique à GitHub d'utiliser ce dépôt pour gérer le trafic vers ce domaine.
4. Attendez
Attendez maintenant 5 minutes, votre page de projet devrait maintenant être en ligne.
la source
yourUserName.github.io.
Le fichier CNAME sur la branche gh-pages aura une ligne:
www.mydomain.com
(au lieu demydomain.com
)Quelle que soit votre préférence pour la redirection (en d'autres termes, peu importe ce qui se trouve dans votre fichier CNAME sur la branche gs-pages), avec votre fournisseur DNS , vous devez le configurer comme ceci:
la source
Réponse courte
Ces explications détaillées sont excellentes, mais la confusion de l'OP (et la mienne) pourrait être résolue avec une seule phrase: "Dirigez le DNS vers votre nom d'utilisateur ou votre organisation GitHub , en ignorant le projet spécifique, et ajoutez les fichiers CNAME appropriés dans vos référentiels de projet: GitHub enverra le bon DNS au bon projet en fonction des fichiers du référentiel. "
la source
Au 29 août 2013, la documentation de Github affirme que:
la source
username.github.io/projectname
àwww.projectname.com
.Les choses sont beaucoup plus faciles de nos jours!
la source
Je viens de découvrir, après un peu de frustration, que si vous utilisez PairNIC , tout ce que vous avez à faire est d'activer le paramètre "Web Forwarding" sous "DNS personnalisé" et de fournir l'adresse username.github.io/project et cela configurer automatiquement les enregistrements de l'apex et du sous-domaine pour vous. Il semble faire exactement ce qui est suggéré dans la réponse acceptée. Cependant, il ne vous permettra pas de faire exactement la même chose en ajoutant manuellement des enregistrements. Très étrange. Quoi qu'il en soit, il m'a fallu un certain temps pour comprendre cela, alors j'ai pensé partager pour sauver tout le monde.
la source
J'aimerais partager mes étapes qui sont un peu différentes de celles proposées par rynop et superluminary .
A
Record est exactement le même maisCNAME
carwww
je préférerais le rediriger vers mon domaine vide (non-www
)Cette configuration fait référence aux indications du domaine préféré . Le paramètre de domaine de
www
tonon www
ou vice versa peut être différent sur chacun des fournisseurs de domaine. Puisque mon domaine est sous GoDaddy, donc sous le paramètre de domaine, je l'ai défini en utilisant le transfert de sous-domaine (301).À la suite du pointage du domaine vers le référentiel Github, il donnera alors toutes les URL pour les deux
master
et lesgh-pages
branches similaires comme celles que j'ai répertoriées ci-dessous vont au domaine préféré:Maître
En créant un
CNAME
fichier sur unemaster
branche (vérifiez-le sur mon référentiel d'utilisateurs ).pages-gh
En créant le même
CNAME
fichier sur lagh-pages
branche (vérifiez-le sur mon référentiel de projet ).En plus du
CNAME
fichier ci-dessus, vous devrez peut-être contourner complètement le traitement Jekyll sur les pages GitHub en créant un fichier nommé.nojekyll
à la racine de votre référentiel de pages.la source