J'ai une branche gh-pages
dans l'un de mes http://github.com . Les pages du projet GitHub fonctionnent bien si je vais sur http://myuser.github.com/myrepo
Je souhaite configurer un domaine personnalisé (myexample.com) qui servira les pages de ce projet. Je veux à la fois myexample.com
et www.myexample.com
servir ces pages de projet.
Aide sur les pages GitHub dit de créer un enregistrement A et un enregistrement CNAME dans votre DNS. L’enregistrement A a du sens, mais je ne sais pas ce que l’enregistrement CNAME doit créer dans mon DNS.
Les documents gh-pages
disent de créer un enregistrement CNAME
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 ne dispose que d'un référentiel de projet et d'une branche gh-pages
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 live et je ne veux pas faire d'erreur.
J'ai envoyé un e-mail au support GitHub et leur réponse a été
Autant que je sache, vous ne pouvez pas faire pointer les deux pages vers les mêmes pages fantômes.
J'ai du mal à croire qu'ils soutiendraient uniquement les enregistrements A pour les pages de projet.
Quelqu'un a-t-il réussi à faire cela auparavant?
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:
En fin de compte, toutes les demandes adressées à example.com
seront redirigées vers https://www.example.com (ou http: // si vous choisissez de ne PAS utiliser HTTPS). J'utilise toujours www
comme mon atterrissage final. Pourquoi ( 1 , 2 ) est pour une autre discussion.
Cette réponse est longue mais elle est pas compliquée . J'étais bavard pour plus de clarté, car les documents GitHub sur ce sujet ne sont ni clairs ni linéaires.
GitHub Pages
. Vous avez deux options: master branch
, /README.md
sera considéré comme votre site Web index.html
. Si vous choisissez master branch /docs folder
, /docs/README.md
sera considéré comme votre site Web index.html
.Your site is ready to be published at
.Entrez votre nom de domaine personnalisé ici et appuyez sur save
:
C'est une étape subtile mais importante.
example.com
, alors www.example.com
sera redirigé vers example.com
.www.example.com
, alors example.com
sera redirigé vers www.example.com
.Comme mentionné précédemment, je recommande de toujours atterrir à www
pour que je saisisse www.example.com
comme illustré ci-dessus.
Dans la console Web de votre fournisseur DNS, créez quatre enregistrements A
et un CNAME
.
A
Enregistrements pour @
(alias racine apex):Certains fournisseurs DNS vous demanderont de spécifier @
, d'autres (comme AWS Route35) vous laissez le sous-domaine vide pour indiquer @
. Dans les deux cas, ceux-ci sont les enregistrements A
à créer:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
CNAME
pour diriger www.example.com vers YOUR-GITHUB-USERNAME.github.io
.C'est la partie la plus déroutante.
Notez le YOUR-GITHUB-USERNAME
ET NON le nom du dépôt GitHub! La valeur de YOUR-GITHUB-USERNAME
est déterminée par ce graphique .
Pour un page utilisateur site (probablement ce que vous êtes), l'entrée CNAME
sera username.github.io
, par exemple:
Pour un pages d'organisation site, l'entrée CNAME
sera orgname.github.io
, par exemple:
Confirmez vos enregistrements A
en exécutant Dig +noall +answer example.com
. Il doit renvoyer les quatre adresses IP 185.x.x.x
que vous avez entrées.
Confirme votre enregistrement CNAME
en exécutant Dig www.example.com +nostats +nocomments +nocmd
. Il devrait retourner un CNAME YOUR-GITHUB-USERNAME.github.io
Cela peut prendre environ une heure pour que ces entrées DNS se résolvent/se propagent. Une fois cela fait, ouvrez votre navigateur à http://example.com
et il devrait être redirigé sur http://www.example.com
Une fois que le domaine personnalisé a fonctionné, retournez aux paramètres du référentiel. Si vous avez déjà ouvert la page des paramètres, actualisez-la en toute sécurité.
S'il y a un message sous la case à cocher Enforce HTTPS
, indiquant que le traitement est toujours en cours, vous devrez attendre. Vous devrez peut-être également appuyer sur le bouton save
de la section Custom domain
pour lancer le traitement Enforce HTTPS
.
Une fois le traitement terminé, il devrait ressembler à ceci:
Il suffit de cliquer sur la case à cocher Enforce HTTPS
et de pointer votre navigateur sur https://example.com
. Il devrait être redirigé et ouvert https://www.example.com
GitHub tiendra automatiquement votre certificat HTTPS à jour ET devrait gérer l'apex vers www
rediriger via HTTPS.
J'espère que cela t'aides!!
...
Alors je l'ai compris. James McLaughlin m'a donné le Nudge dont j'avais besoin.
Pour configurer un domaine personnalisé pour un référentiel gh-pages Project Pages prenant en charge www.votredomaine.com et votredomaine.com (en supposant que vous ayez déjà une branche gh-pages sur votre référentiel):
yourdomain.com
. Commit puis Push.cname
. Un pour le sommet de la racine (@) et un pour le site www. Les deux pointent vers YOURusername.github.io
. Si votre fournisseur DNS ne prend pas en charge les enregistrements ALIAS
sur l'apex racine (@), créez simplement des enregistrements A
pointant vers 192.30.252.153
et 192.30.252.154
.Attendez que vos serveurs de noms se mettent à jour:
Dig yourdomain.com +nostats +nocomments +nocmd
Le documentation est un peu déroutant lorsqu'il s'agit de pages de projet , par opposition à pages utilisateur . C'est comme si vous deviez en faire plus, mais en réalité, le processus est très facile.
Ça implique:
Votre contenu sera servi à partir d'une URL de la forme http://nicholasjohnson.com .
Visiting http://www.nicholasjohnson.com renverra une redirection 301 vers le domaine nu.
Le chemin sera respecté par la redirection; 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. Ainsi, si vos dépôts sont ouverts, vous pouvez en avoir autant que vous le souhaitez.
Voici le processus:
Pour les enregistrements A, pointez @ les adresses IP suivantes:
@: 185.199.108.153
@: 185.199.109.153
@: 185.199.110.153
@: 185.199.111.153
Ce sont les adresses IP statiques Github à partir desquelles votre contenu sera diffusé.
Pour l'enregistrement CNAME, pointez www sur yourusername.github.io. Notez le point final de fuite. Notez aussi que c'est le nom d'utilisateur, pas le nom du projet . Vous n'avez pas encore besoin de spécifier le nom du projet. Github utilisera le fichier CNAME pour déterminer le projet à partir duquel le contenu sera diffusé.
par exemple.
www: forwardadvance.github.io.
Le but de CNAME est de rediriger tout le trafic des sous-domaines www vers une page GitHub qui sera redirigée vers le domaine nu.
Voici une capture d'écran de la configuration que j'utilise pour mon propre site http://nicholasjohnson.com :
Ajoutez 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.
par exemple.
nicholasjohnson.com
Ce fichier indique à GitHub d'utiliser ce dépôt pour gérer le trafic vers ce domaine.
Maintenant, attendez 5 minutes, votre page de projet devrait maintenant être en direct.
Si vous vous demandez comment faire en sorte que votre domaine apparaisse comme
www.mydomain.com
au lieu de rediriger la demandewww
versmydomain.com
, essayez ceci:
fichier CNAME sur gh-pages branche aura une ligne:
www.mydomain.com
(au lieu de mydomain.com
)
Peu importe vos préférences en matière de redirection (en d'autres termes, peu importe le contenu de votre fichier CNAME sur la branche gs-pages), avec votre fournisseur DNS, vous devez le configurer comme suit:
A @ 192.30.252.154
A @ 192.30.252.153
CNAME www username.github.io
Ces explications détaillées sont excellentes, mais la confusion du PO (et de mes) pourrait être résolue avec une phrase: "DNS direct vers votre GitHub nom d'utilisateur ou organisation, en ignorant le projet spécifique et ajoutez les fichiers CNAME appropriés dans les référentiels de votre projet: GitHub enverra le bon DNS au bon projet, en fonction des fichiers du ré référentiel "
En date du 29 août 2013, documentation de Github affirme que:
Avertissement: Les sous-chemins des pages de projet tels que http://username.github.io/projectname ne seront pas redirigés vers le domaine personnalisé du projet.
Les choses sont beaucoup plus faciles de nos jours!
192.30.252.154
192.30.252.153
Je viens de découvrir, après un peu de frustration, que si vous utilisez PairNIC , il vous suffit d'activer le paramètre "Web Forwarding" sous "Custom DNS" et de fournir le nom d'utilisateur.github. io/adresse du projet et il va automatiquement configurer les enregistrements apex et sous-domaine pour vous. Il semble faire exactement ce qui est suggéré dans la réponse acceptée. Cependant, il ne vous laissera pas 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.
Je voudrais partager mes pas qui est un peu différent de ce que propose rynop et superluminaire .
A
Record est exactement le même maisCNAME
pour www
, je préférerais le rediriger vers mon domaine vide (non-www
)Cette configuration fait référence au guidage de domaine préféré . Le réglage de domaine de www
à non www
ou inversement peut être différent pour chacun des fournisseurs de domaine. Comme mon domaine est sous GoDaddy, donc sous Paramètre de domaine je le configure à l'aide de Transfert de sous-domaine (301).
En faisant pointer le domaine vers le référentiel Github, toutes les adresses URL de master
et gh-pages
seront alors similaires, comme celles que je viens d’énumérer ci-dessous, vont au domaine préféré:
maître
En créant le fichier CNAME
sur la branche master
(à vérifier sur mon référentiel utilisateur ).
http://hyipworld.github.io/
http://www.hyip.world/
http://hyip.world/
gh-pages
En créant le même fichier CNAME
sur la branche gh-pages
(vérifiez-le sur mon référentiel de projet ).
http://hyipworld.github.io/maps/
http://www.hyip.world/maps/
http://hyip.world/maps/
En plus du fichier CNAME
ci-dessus, vous devrez peut-être complètement contourner le traitement Jekyll sur GitHub Pages en créant un fichier nommé .nojekyll
à la racine. de vos pages repo.