Domaine personnalisé pour les pages du projet GitHub
j'ai une branche gh-pages
dans un de mes http://github.com repos. Les pages du projet GitHub fonctionnent très bien si je vais à http://myuser.github.com/myrepo
je veux configurer un domaine personnalisé (myexample.com) qui servira les pages de ce projet. Je veux que à la fois myexample.com
et www.myexample.com
servent ces pages de projet.
GitHub pages help dit de faire un enregistrement A et un enregistrement CNAME dans votre DNS. Le disque A a du sens, mais je ne sais pas quel disque CNAME faire dans mon DNS.
Le gh-pages
docs-dire de faire un CNAME
record "de charlie.github.com" qui est la page d'un utilisateur du référentiel. Je n'ai pas de dépôt de page Utilisateur - Je n'ai qu'un dépôt de projet et une branche gh-pages
que je veux utiliser pour myexample.com
et www.myexample.com
.
Do Je dois faire un dépôt de page d'utilisateur juste pour que je puisse utiliser ma page de projet pour www.myexample.com et myexample.com Je ne sais pas.
je voudrais juste essayer, mais je veux m'assurer que cela fonctionnera comme je l'ai déjà www.myexample.com vivre et ne pas vouloir faire une erreur.
j'ai envoyé GitHub support et leur réponse était
vous ne pouvez pas avoir les deux pointer vers le même gh-pages autant que je sache.
j'ai du mal à croire qu'ils ne supporteraient qu'un enregistrement pour les pages de projet.
est-ce que quelqu'un a déjà réussi à faire ça?
8 réponses
donc j'ai compris. James McLaughlin m'a donné le coup de pouce dont j'avais besoin.
pour configurer un domaine personnalisé pour un projet de page gh-pages repo qui gère www.yourdomain.com et yourdomain.com (en supposant que vous avez déjà une branche gh-pages sur votre déclaration):
- de votre project repo, branche gh-pages. Créer un fichier CNAME avec le contenu
yourdomain.com
. S'engager ensuite pousser. - dans votre DNS manager, Configuration de deux enregistrements
cname
. Un pour la racine apex ( @ ) et un pour www. Les deux pointent versYOURusername.github.io
. Si votre fournisseur DNS ne supporte pas les enregistrementsALIAS
sur l'apex racine ( @ ), créez simplement des enregistrementsA
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
vue d'ensemble
la documentation est un peu confuse quand il s'agit de pages de projet , par opposition à pages d'utilisateur . Il semble que vous devriez avoir à faire plus, mais en fait le processus est très facile.
cela implique:
- mise en place de 2 enregistrements statiques A pour le domaine naked (no www).
- créer un Enregistrement CNAME pour www qui pointera vers une URL GitHub. Ceci gérera la redirection www pour vous.
- création d'un fichier CNAME (en majuscules) dans la racine de votre projet sur la branche gh-pages. Cela indiquera à Github à quelle URL répondre.
- attendez que tout se propage.
Ce que vous obtenez
votre contenu sera servi à partir d'une URL du formulaire http://nicholasjohnson.com .
visite http://www.nicholasjohnson.com renvoie 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 dépôt, donc, si votre repos sont ouverts, vous pouvez en avoir autant que vous le souhaitez.
voici le processus:
1. Créer un enregistrement
pour les enregistrements A, point @ aux adresses ip suivantes:
@: 192.30.252.154
@: 192.30.252.153
ce sont les adresses IP GitHub statiques à partir desquelles votre contenu sera servi.
2. Créer un enregistrement CNAME
pour le record CNAME, point www à votre nom d'utilisateur.github.io. Notez l'arrêt arrière complet. Notez aussi, c'est le nom d'Utilisateur, pas le nom du projet . Vous n'avez pas encore besoin de préciser le nom du projet. Github utilisera le fichier de CNAME pour déterminer de quel projet il s'agit.
p.ex.
www: forwardadvance.github.io.
le but du CNAME est de rediriger tout le trafic du sous-domaine www vers une page GitHub qui redirige 301 vers le domaine naked.
voici une capture d'écran de la configuration que j'utilise pour mon propre site http://nicholasjohnson.com :
3. Créer un fichier CNAME
Ajouter un fichier appelé CNAME à la racine de votre projet dans la branche gh-pages. Cela devrait contenir le domaine que vous voulez servir. Assurez-vous de vous engager et de pousser.
p.ex.
nicholasjohnson.com
ce fichier indique à GitHub d'utiliser ce repo pour gérer le trafic vers ce domaine.
4. Attendez
maintenant attendez 5 minutes, votre page de projet devrait maintenant être en direct.
si vous vous demandez comment faire apparaître votre domaine comme
www.mydomain.com
au lieu de rediriger la demandewww
versmydomain.com
, essayez ceci:
CNAME fichier sur gh-pages branche aura une ligne:
www.mydomain.com
(au lieu de mydomain.com
)
peu importe votre préférence sur la redirection (en d'autres termes, peu importe ce qui est dans votre fichier CNAME sur la branche gs-pages), avec votre fournisseur DNS , vous devez le configurer comme ceci:
A @ 192.30.252.154
A @ 192.30.252.153
CNAME www username.github.io
en date du 29 août 2013, github's documentation claim that:
avertissement: les pages de projet sous-titres comme http://username.github.io/projectname ne sera pas redirigé vers le domaine personnalisé d'un projet.
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 phrase: "DNS directs à votre GitHub nom d'utilisateur ou organisation, ignorant le projet spécifique, et ajouter le CNAME approprié fichiers dans vos dépôts de projet: GitHub enverra le DNS droit au bon projet basé sur Files in le respository .
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" Custom DNS " et de fournir le nom d'utilisateur.github.io / project address et il configurera automatiquement les enregistrements apex et subdomain pour vous. Il semble faire exactement ce qui est suggéré dans la réponse acceptée. Cependant, il ne vous laisse pas faire exactement la même chose en ajoutant manuellement des enregistrements. Très étrange. De toute façon, il m'a fallu un moment pour comprendre ça, alors j'ai pensé que je partagerais pour éviter à tout le monde le problème.
les choses sont beaucoup plus faciles de nos jours!
- mise à Jour de votre Apex de domaine (@) enregistrement au point
192.30.252.154
192.30.252.153
- éditez votre champ Custome domain dans vos paramètres de repo github.
- www et d'autres sous-domaines peuvent être mis à jour en tant que CNAME vers le domaine apex.
je voudrais partager mes pas ce qui est un peu différent de ce qui est offert par rynop et superluminaire .
- pour
A
Record est exactement le même, mais - au lieu de créer
CNAME
pourwww
je préférerais le rediriger vers mon domaine vide (non-www
)
cette configuration se réfère aux indications de preferred domain . Le paramétrage de domaine de www
à non www
ou inversement peut être différent sur chacun des fournisseurs de domaine. Depuis mon domaine est sous GoDaddy, donc sous le domaine paramètre Je l'ai mis en utilisant le sous-domaine Forwarding (301).
comme résultat de pointant le domaine vers le dépôt Github, il donnera alors toutes les URLs de la branche master
et gh-pages
similaires à celles que j'ai énumérées ci-dessous va vers le domaine préféré:
maître
en créant CNAME
fichier sur master
branche (cochez sur mon référentiel utilisateur ).
http://hyipworld.github.io/
http://www.hyip.monde/
http://hyip.le monde/
gh-pages
en créant le même fichier CNAME
sur la branche gh-pages
(cochez sur mon project repository ).
http://hyipworld.github.io/maps/
http://www.hyip.monde / cartes/
http://hyip.le monde/cartes/
en plus du fichier CNAME
ci-dessus, vous pouvez avoir besoin de complètement contourner le traitement Jekyll sur les Pages GitHub en créant un fichier nommé .nojekyll
dans le racine de vos pages repo.