it-swarm.com.de

Benutzerdefinierte Domain für GitHub-Projektseiten

Ich habe eine gh-pages - Filiale in einem meiner http://github.com Repos. Die GitHub-Projektseiten funktionieren einwandfrei, wenn ich zu http://myuser.github.com/myrepo gehe

Ich möchte eine benutzerdefinierte Domain (myexample.com) einrichten, die diese Projektseiten bereitstellt. Ich möchte, dass sowohl myexample.com Als auch www.myexample.com Diese Projektseiten bedienen.

GitHub-Seiten helfen sagt, dass Sie einen A-Eintrag und einen CNAME-Eintrag in Ihrem DNS erstellen sollen. Der A-Eintrag macht Sinn, aber ich weiß nicht, welchen CNAME-Eintrag ich in meinem DNS machen soll.

In den gh-pages - Dokumenten wird angegeben, dass ein CNAME-Datensatz für 'charlie.github.com' erstellt werden soll, bei dem es sich um ein Benutzerseitenrepository handelt. Ich habe kein Benutzerseiten-Repository - Ich habe nur ein Projekt-Repository und einen gh-pages - Zweig, den ich für myexample.com Und www.myexample.com Verwenden möchte.

Muss ich ein Benutzerseiten-Repository erstellen, damit ich meine Projektseite für www.myexample.com und myexample.com verwenden kann?

Ich würde es einfach versuchen, aber ich möchte sicherstellen, dass dies funktioniert, da ich bereits www.myexample.com live habe und keinen Fehler machen möchte.

Ich habe eine E-Mail an den GitHub-Support gesendet und die Antwort lautete

Soweit ich weiß, können nicht beide auf die gleichen Gh-Seiten verweisen.

Es fällt mir schwer zu glauben, dass sie nur A-Datensätze für Projektseiten unterstützen.

Hat das schon jemand erfolgreich gemacht?

397
rynop

23.01.19 UPDATE:

Seit meiner letzten Antwort hat sich (zum Besseren) einiges getan. Diese aktualisierte Antwort zeigt Ihnen, wie Sie Folgendes konfigurieren:

  1. Stammspitze (example.com)
  2. Sub-Domain (www.example.com)
  3. HTTPS (optional, aber dringend empfohlen)

Am Ende werden alle Anfragen an example.com Umgeleitet an https://www.example.com (oder http: //, wenn Sie NICHT HTTPS verwenden). Ich benutze immer www als letzte Landung. Warum ( 1 , 2 ) ist für eine andere Diskussion.

Diese Antwort ist lang, aber es ist nicht kompliziert. Ich war aus Gründen der Klarheit wortreich, da die GitHub-Dokumente zu diesem Thema nicht klar oder linear sind.

Schritt 1: Aktivieren Sie GitHub-Seiten in den GitHub-Einstellungen

  1. Klicken Sie in Ihrem Repo auf die Schaltfläche  Tab
  2. Scrollen Sie zum Abschnitt GitHub Pages. Sie haben zwei Möglichkeiten: 
  3. Wenn Sie master branch Auswählen, wird /README.md Als Ihr Web index.html Behandelt. Wenn Sie master branch /docs folder Auswählen, wird /docs/README.md Als Ihr Web index.html Behandelt.
  4. Wähle ein Thema.
  5. Warten Sie eine Minute, während GitHub Ihre Site veröffentlicht. Überprüfen Sie, ob es funktioniert, indem Sie auf den Link neben Your site is ready to be published at Klicken.

Schritt 2: Geben Sie in den GitHub-Einstellungen eine benutzerdefinierte Domain an

Geben Sie hier Ihren benutzerdefinierten Domainnamen ein und drücken Sie save

Dies ist ein subtiler, aber wichtiger Schritt.

  • Wenn die benutzerdefinierte Domain, die Sie zu Ihrer GitHub Pages-Site hinzugefügt haben, example.com Ist, wird www.example.com Zu example.com Umgeleitet.
  • Wenn die benutzerdefinierte Domain, die Sie zu Ihrer GitHub Pages-Site hinzugefügt haben, www.example.com Ist, wird example.com Zu www.example.com Umgeleitet.

Wie bereits erwähnt, empfehle ich, immer bei www zu landen, also habe ich www.example.com Wie oben abgebildet eingegeben.

Schritt 3: Erstellen Sie DNS-Einträge

Erstellen Sie in der Webkonsole Ihres DNS-Providers vier A Einträge und einen CNAME.

  1. A Datensätze für @ (aka root apex):

Bei einigen DNS-Anbietern müssen Sie @ Angeben, bei anderen (wie AWS Route35) müssen Sie lassen Sie die Sub-Domain leer angeben, um @ Anzugeben. In beiden Fällen sind diese die zu erstellenden A -Datensätze:

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
  1. Erstellen Sie einen CNAME Datensatz, um www.example.com auf YOUR-GITHUB-USERNAME.github.io Zu verweisen.

Dies ist der verwirrendste Teil.

Beachten Sie, dass YOUR-GITHUB-USERNAME [~ # ~] nicht [~ # ~] der GitHub-Reponame ist! Der Wert von YOUR-GITHUB-USERNAME Wird durch dieses Diagramm bestimmt.

Für eine Benutzerseiten-Site (höchstwahrscheinlich, was Sie sind) lautet der Eintrag für CNAMEusername.github.io, Z. B .: 

Für eine Site mit Organisationsseiten lautet der Eintrag für CNAMEorgname.github.io, Z. 

Schritt 5: Bestätigen Sie die DNS-Einträge

  1. Bestätigen Sie Ihre A Datensätze, indem Sie Dig +noall +answer example.com Ausführen. Es sollte die vier 185.x.x.x IP-Adressen zurückgeben, die Sie eingegeben haben.

  2. Bestätigt Ihren CNAME Datensatz durch Ausführen von Dig www.example.com +nostats +nocomments +nocmd. Es sollte ein CNAME YOUR-GITHUB-USERNAME.github.io

Die Auflösung/Verbreitung dieser DNS-Einträge kann etwa eine Stunde dauern. Wenn dies der Fall ist, öffnen Sie Ihren Browser mit http://example.com Und er sollte auf http://www.example.com Umleiten.

Schritt 6: SSL (HTTPS) -Konfiguration. Optional, aber sehr zu empfehlen

Nachdem die benutzerdefinierte Domain funktioniert hat, kehren Sie zu den Repo-Einstellungen zurück. Wenn die Einstellungsseite bereits geöffnet ist, aktualisieren Sie die Seite hart.

Wenn unter dem Kontrollkästchen Enforce HTTPS Eine Meldung angezeigt wird, dass die Verarbeitung noch läuft, müssen Sie warten. Möglicherweise müssen Sie auch die Schaltfläche save im Abschnitt Custom domain Drücken, um die Verarbeitung von Enforce HTTPS Zu starten.

Sobald die Verarbeitung abgeschlossen ist, sollte es so aussehen:

enter image description here

Klicken Sie einfach auf das Kontrollkästchen Enforce HTTPS Und zeigen Sie mit Ihrem Browser auf https://example.com. Es sollte umleiten und öffnen https://www.example.com

DAS IST ES!

GitHub hält Ihr HTTPS-Zertifikat automatisch auf dem neuesten Stand UND sollte den Apex für die Weiterleitung von www über HTTPS verarbeiten.

Hoffe das hilft!!

...

Alte (vor dem 23.01.19) Antwort

Also habe ich es herausgefunden. James McLaughlin gab mir den Nudge, den ich brauchte.

So richten Sie eine benutzerdefinierte Domain für ein Projekt-Pages-Repo ein, das www.IhreDomain.com und YourDomain.com verwaltet (vorausgesetzt, Sie haben bereits einen Gh-Pages-Zweig in Ihrem Repo):

  1. In Ihrem Projekt-Repository verzweigen sich gh-pages. Erstellen Sie eine CNAME-Datei mit dem Inhalt yourdomain.com. Bestätigen Sie und drücken Sie.
  2. Richten Sie in Ihrem DNS-Manager zwei cname Einträge ein. Eine für die Wurzelspitze (@) und eine für www. Beide zeigen auf YOURusername.github.io. Wenn Ihr DNS-Anbieter keine ALIAS Einträge auf dem Stamm-Apex (@) unterstützt, erstellen Sie einfach A Einträge, die auf 192.30.252.153 Und 192.30.252.154 Verweisen.
  3. Warten Sie, bis Ihre Nameserver aktualisiert sind:

    Dig yourdomain.com +nostats +nocomments +nocmd

472
rynop

Überblick

Die Dokumentation ist ein wenig verwirrend, wenn es um Projektseiten geht , im Gegensatz zu Benutzerseiten . Es fühlt sich an, als müssten Sie mehr tun, aber der Prozess ist sehr einfach.

Es involviert:

  1. Einrichten von 2 statischen A-Einträgen für die Naked-Domain (kein WWW).
  2. Erstellen eines CNAME-Eintrags für www, der auf eine GitHub-URL verweist. Dies erledigt die WWW-Umleitung für Sie.
  3. Erstellen Sie eine Datei mit dem Namen CNAME (mit Großbuchstaben) in Ihrem Projektstamm im Zweig gh-pages. Dies teilt Github mit, auf welche URL zu antworten ist.
  4. Warten Sie, bis sich alles verbreitet hat.

Was du bekommen wirst

Ihr Inhalt wird über eine URL der Form http://nicholasjohnson.com bereitgestellt.

Wenn Sie http://www.nicholasjohnson.com besuchen, wird eine 301-Weiterleitung an die nackte Domain zurückgegeben.

Der Pfad wird von der Umleitung beachtet, sodass der Verkehr zu http://www.nicholasjohnson.com/angular zu http://nicholasjohnson.com/angular umgeleitet wird .

Sie können eine Projektseite pro Repository haben. Wenn Ihre Repos also geöffnet sind, können Sie so viele haben, wie Sie möchten.

Hier ist der Prozess:

1. Erstellen Sie einen Datensatz

Zeigen Sie für die A-Datensätze mit @ auf die folgenden IP-Adressen:

@: 185.199.108.153
@: 185.199.109.153
@: 185.199.110.153
@: 185.199.111.153

Dies sind die statischen Github-IP-Adressen, über die Ihre Inhalte bereitgestellt werden.

2. Erstellen Sie einen CNAME-Eintrag

Zeigen Sie für den CNAME-Eintrag www auf yourusername.github.io. Beachten Sie den nachlaufenden Punkt. Beachten Sie auch, dass dies der Benutzername ist, nicht der Projektname . Sie müssen den Projektnamen noch nicht angeben. Github verwendet die CNAME-Datei , um zu bestimmen, aus welchem ​​Projekt Inhalte bereitgestellt werden sollen.

z.B.

www: forwardadvance.github.io.

Der Zweck des CNAME besteht darin, den gesamten Datenverkehr der WWW-Subdomain auf eine GitHub-Seite umzuleiten, die 301 zur nackten Domain umleitet.

Hier ist ein Screenshot der Konfiguration, die ich für meine eigene Site verwende http://nicholasjohnson.com :

A and CNAME records required for Github Static Pages

3. Erstellen Sie eine CNAME-Datei

Fügen Sie Ihrem Projektstamm im Zweig gh-pages eine Datei mit dem Namen CNAME hinzu. Dies sollte die Domain enthalten, die Sie bedienen möchten. Stellen Sie sicher, dass Sie festschreiben und Push.

z.B.

nicholasjohnson.com

Diese Datei weist GitHub an, dieses Repo zu verwenden, um den Datenverkehr zu dieser Domain zu verarbeiten.

4. Warten Sie

Warten Sie nun 5 Minuten, Ihre Projektseite sollte nun online sein.

237
superluminary

Wenn Sie sich fragen, wie Ihre Domain als www.mydomain.com Angezeigt werden soll, anstatt die www -Anforderung an mydomain.com Umzuleiten, versuchen Sie Folgendes:

CNAME-Datei auf gh-pages Zweig wird eine Zeile haben:

www.mydomain.com (Anstelle von mydomain.com)

Egal, wie Sie die Umleitung bevorzugen (mit anderen Worten, egal, was sich in Ihrer CNAME-Datei im gs-pages-Zweig befindet), mit Ihrem DNS-Provider sollten Sie dies folgendermaßen einrichten:

A      @    192.30.252.154
A      @    192.30.252.153
CNAME  www  username.github.io
21
Phil

Kurze Antwort

Diese detaillierten Erklärungen sind großartig, aber die (und meine) Verwirrung des OP könnte mit einem Satz behoben werden: "Direktes DNS zu Ihrem GitHub -Nutzernamen oder Organisation, Ignorieren des spezifischen Projekts und Hinzufügen der entsprechenden CNAME -Dateien in Ihren Projekt-Repositorys: GitHub sendet das richtige DNS an das richtige Projekt basierend auf Dateien im -Repository. "

15
Jim Pivarski

Ab dem 29. August 2013 Githubs Dokumentation behaupten, dass:

Warnung: Projektseiten-Unterpfade wie http://username.github.io/projectname werden nicht an die benutzerdefinierte Domäne eines Projekts umgeleitet.

13
Amio

Heutzutage ist es viel einfacher!

  1. Aktualisieren Sie Ihren Apex-Domain-Eintrag (@) so, dass er anzeigt

192.30.252.154

192.30.252.153

  1. Bearbeiten Sie Ihr Custome-Domain-Feld in Ihren Github-Repo-Einstellungen.

enter image description here

  1. www und andere Subdomains können als CNAME auf die Apex-Domain aktualisiert werden.
3
Rafaf Tahsin

Nach einigem Frust habe ich festgestellt, dass Sie bei Verwendung von PairNIC lediglich die Einstellung "Web Forwarding" unter "Custom DNS" aktivieren und den Benutzernamen.github angeben müssen. io/project address und es werden automatisch sowohl die Apex- als auch die Subdomain-Datensätze für Sie eingerichtet. Es scheint genau das zu tun, was in der akzeptierten Antwort vorgeschlagen wird. Sie können jedoch nicht genau dasselbe tun, indem Sie Datensätze manuell hinzufügen. Sehr eigenartig. Wie auch immer, es dauerte eine Weile, bis ich das herausgefunden hatte, also dachte ich, ich würde es teilen, um allen anderen die Mühe zu ersparen.

2
Brandon Fosdick

Ich möchte meine Schritte mitteilen, was ein bisschen anders ist als das, was rynop und superluminary bieten .

  • für A Record ist aber genau das gleiche
  • anstatt CNAME für www zu erstellen, würde ich es vorziehen, es auf meine leere Domain umzuleiten (non-www)

Diese Konfiguration bezieht sich auf die Anleitung von Bevorzugte Domain . Die Domain-Einstellung von www auf non www Oder umgekehrt kann bei jedem Domain-Provider unterschiedlich sein. Da sich meine Domain unter GoDaddy befindet, setze ich sie unter Domain Setting mit Subdomain Forwarding (301).

Als Ergebnis des Verweises der Domain auf das Github-Repository werden dann alle URLs für die beiden Zweige master und gh-pages Angegeben, ähnlich wie die, die ich unten aufgeführt habe, für die bevorzugte Domain:

Meister

Indem Sie eine CNAME -Datei in der master-Verzweigung erstellen (überprüfen Sie diese in meinem user repository ).

http://hyipworld.github.io/
http://www.hyip.world/
http://hyip.world/

gh-pages

Indem Sie dieselbe CNAME -Datei in der gh-pages - Verzweigung erstellen (überprüfen Sie sie in meinem Projekt-Repository ).

http://hyipworld.github.io/maps/
http://www.hyip.world/maps/
http://hyip.world/maps/

Zusätzlich zu der obigen CNAME -Datei müssen Sie möglicherweise Jekyll-Verarbeitung umgehen auf GitHub-Seiten erstellen, indem Sie eine Datei mit dem Namen .nojekyll im Stammverzeichnis Ihrer Seiten repo.

0
Chetabahana