Własna domena dla stron projektu GitHub

Mam gh-pages gałąź w jednym z moich http://github.com repo. Strony projektu GitHub działają dobrze, jeśli przejdę do http://myuser.github.com/myrepo

Chcę skonfigurować domenę niestandardową (myexample.com), które będą służyć tym stronom projektu. I want both myexample.com i www.myexample.com do serwowania tych stron projektu.

Strony GitHub help mówi, aby utworzyć rekord A i rekord CNAME w DNS. Zapis A ma sens, ale nie wiem co CNAME rekord do zrobienia w moim DNS.

The gh-pages docs say to make a CNAME record for 'charlie.github.com", które jest repozytorium stron użytkownika. Nie mam repozytorium strony użytkownika - mam tylko repozytorium projektu i gałąź gh-pages, której chcę użyć dla myexample.com i www.myexample.com.

Czy muszę zrobić repozytorium strony użytkownika, aby móc korzystać ze strony projektu dla www.myexample.com oraz myexample.com?

Po prostu bym spróbował, ale chcę się upewnić, że to zadziała, ponieważ już mieć www.myexample.com Żyj i nie chcę popełnić błędu.

Wysłałem maila z obsługą Githuba, a ich odpowiedź brzmiała

Nie możesz mieć obu punktów do tych samych stron gh, o ile wiem.

Trudno mi uwierzyć, że wspieraliby tylko zapisy dla stron projektu.

Czy ktoś z powodzeniem zrobił to wcześniej?

 371
Author: phwd, 2012-01-31

8 answers

Więc rozgryzłem to. James McLaughlin dał mi to, czego potrzebowałem.

Aby skonfigurować domenę niestandardową dla gh-pages Project Pages repo, która obsługuje www.yourdomain.com oraz yourdomain.com (zakłada, że masz już gałąź gh-pages na swoim repo):

  1. z twojego projektu repo, gałąź gh-pages. Utwórz plik CNAME z zawartością yourdomain.com. Commit następnie push.
  2. w Menedżerze DNS Ustaw dwa rekordy cname. Jeden dla głównego wierzchołka ( @ ) i jeden dla www. Obie wskaż YOURusername.github.io. Jeśli twój dostawca DNS nie obsługuje rekordów ALIAS na wierzchołku głównym ( @ ), po prostu utwórz rekordy A, które wskazują na 192.30.252.153 i 192.30.252.154
  3. Poczekaj na aktualizację serwerów nazw:

    dig yourdomain.com +nostats +nocomments +nocmd

 424
Author: rynop,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:29

Przegląd

Dokumentacja jest nieco myląca, jeśli chodzi o Strony Projektu , w przeciwieństwie do stron użytkownika {9]}. Wydaje się, że powinieneś zrobić więcej, ale w rzeczywistości proces jest bardzo łatwy.

Obejmuje:

  1. Ustawianie 2 rekordów statycznych A dla domeny naga (bez www).
  2. tworzenie jednego rekordu CNAME dla www, który będzie wskazywał na adres URL GitHub. To będzie obsługiwać przekierowanie www dla Ciebie.
  3. Tworzenie pliku wywołane CNAME (pisane wielką literą) w katalogu głównym projektu w gałęzi gh-pages. To powie Github, na który adres URL ma odpowiedzieć.
  4. poczekaj, aż wszystko się rozprzestrzeni.

Co dostaniesz

Twoje treści będą serwowane z adresu URL formularza http://nicholasjohnson.com .

Odwiedziny http://www.nicholasjohnson.com zwróci przekierowanie 301 do nagiej domeny.

Ścieżka będzie respektowana przez przekierowanie, więc ruch do http://www.nicholasjohnson.com/angular zostanie przekierowany na http://nicholasjohnson.com/angular .

Możesz mieć jedną stronę projektu na repozytorium, więc jeśli Twoje repozytoria są otwarte, możesz mieć ich tyle, ile chcesz.

Oto proces:

1. Utwórz rekord

Dla rekordów A, wskaż @ na następujące adresy ip:

@: 192.30.252.154
@: 192.30.252.153

Są to statyczne adresy IP Github, z których będą serwowane Twoje treści.

2. Create a CNAME Record

Dla rekordu CNAME wskaż www na yourusername.github.io / align = "left" / Zauważ również, że jest to nazwa użytkownika, a nie nazwa projektu . Nie musisz jeszcze podawać nazwy projektu. Github użyje pliku CNAME do określenia, z którego projektu ma być wyświetlana zawartość.

Np.

www: forwardadvance.github.io.

Celem CNAME jest przekierowanie całego ruchu subdomeny www na stronę GitHub, która przekieruje 301 do nagiej domeny.

Oto zrzut ekranu konfiguracji używam dla własnej strony http://nicholasjohnson.com :

Rekordy A i CNAME wymagane dla statycznych stron Github

3. Tworzenie pliku CNAME

Dodaj plik o nazwie CNAME do katalogu głównego projektu w gałęzi gh-pages. Powinna ona zawierać domenę, którą chcesz obsługiwać. Upewnij się, że się zobowiązujesz i naciskasz.

Np.

nicholasjohnson.com

Ten plik mówi GitHub, aby używał tego repo do obsługi ruchu do tej domeny.

4. Wait

Teraz poczekaj 5 minut, twój projekt strona powinna być już aktywna.

 230
Author: superluminary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 15:23:38

Jeśli zastanawiasz się, jak sprawić, aby Twoja domena pojawiła się jako www.mydomain.com zamiast przekierowywać żądanie www do mydomain.com, Spróbuj tego:

Plik CNAME na gh-pages branch będzie miał jedną linię:

www.mydomain.com (zamiast mydomain.com)

Bez względu na preferencje dotyczące przekierowania (innymi słowy, bez względu na to, co znajduje się w pliku CNAME w gałęzi GS-pages), z dostawcą DNS , powinieneś skonfigurować go tak:

A      @    192.30.252.154
A      @    192.30.252.153
CNAME  www  username.github.io
 20
Author: Phil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-29 09:28:33

Od 29 sierpnia 2013 roku, Dokumentacja Githuba twierdzi, że:

Warning: Project pages subpaths like http://username.github.io/projectname nie zostanie przekierowany do domeny niestandardowej projektu.

 13
Author: Amio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-29 09:03:49

Krótka odpowiedź

Te szczegółowe wyjaśnienia są świetne, ale zamieszanie OP (i moje) można rozwiązać jednym zdaniem: "skieruj DNS do Twojego GitHub username lub organization, ignorując konkretny projekt i dodaj odpowiednie pliki CNAME w repozytoriach twojego projektu: GitHub wyśle właściwy DNS do właściwego projektu na podstawie Plików W respository."

 13
Author: Jim Pivarski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-15 14:28:24

Właśnie odkryłem, po odrobinie frustracji, że jeśli używasz PairNIC, wszystko, co musisz zrobić, to włączyć ustawienie " Web Forwarding "w" Custom DNS " i dostarczyć username.github.io/project adres i automatycznie skonfiguruje dla Ciebie rekordy apex i subdomeny. Wygląda na to, że robi dokładnie to, co sugeruje przyjęta odpowiedź. Jednak nie pozwoli Ci zrobić dokładnie tego samego poprzez ręczne Dodawanie rekordów. Bardzo dziwne. W każdym razie, Zajęło mi trochę czasu, żeby się domyślić, że wyszedłem, więc pomyślałem, że się podzielę, żeby oszczędzić wszystkim kłopotów.

 2
Author: Brandon Fosdick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-21 23:34:02

Rzeczy są o wiele łatwiejsze w dzisiejszych czasach!

  1. zaktualizuj rekord domeny Apex ( @ ) do punktu

192.30.252.154

192.30.252.153

  1. edytuj swoje pole Custome domain w Ustawieniach repo github.

Tutaj wpisz opis obrazka

  1. www i inne subdomeny mogą być aktualizowane jako CNAME do domeny apex.
 1
Author: Rafaf Tahsin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-14 06:30:31

I ' d like to share moje kroki co nieco różni się od tego, co oferują rynop i superluminary .

  • Dla A zapis jest dokładnie taki sam, ale
  • zamiast tworzyć CNAME dla www wolałbym przekierować go do mojej pustej domeny (non-www)

Konfiguracja ta odnosi się do wskazówekpreferowana domena. Ustawienie domeny www na non www lub vise versa może być różne na każdym z dostawców domen. Ponieważ moja domena jest pod GoDaddy, więc pod ustawieniem domeny ustawiłem ją za pomocą przekazywanie subdomen (301).

W wyniku skierowania domeny do repozytorium Github, poda ona wszystkie adresy URL zarówno dla gałęzi master, jak i gh-pages podobne do tych, które wymieniłem poniżej, trafiają do preferowanej domeny:

Master

Tworząc CNAME plik na gałęzi master (sprawdź na moim repozytorium użytkownika).

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

Gh-strony

Tworząc ten sam plik CNAME na gałęzi gh-pages (sprawdź na moim repozytorium projektów).

Http://hyipworld.github.io/maps/
http://www.hyip.world/maps/
http://hyip.world/maps/{[18]

Jako dodatek do powyższego pliku CNAME, może być konieczne całkowite bypass Jekyll processing na stronach GitHub, tworząc plik o nazwie .nojekyll w katalogu głównym strony repo.

 0
Author: Chetabahana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:47