23.01.19 ОБНОВЛЕНИЕ:
С момента моего последнего ответа все немного изменилось (в лучшую сторону). Этот обновленный ответ покажет вам, как настроить:
- Корневая вершина (example.com)
- Поддомен (www.example.com)
- HTTPS (необязательно, но настоятельно рекомендуется)
В итоге все запросы example.com
будут перенаправлены на https://www.example.com (или http: //, если вы решите НЕ использовать HTTPS). Я всегда использую в www
качестве моей последней посадки. Почему ( 1 , 2 ), для другого обсуждения.
Этот ответ длинный, но не сложный. Я был многословен для ясности, поскольку документы GitHub по этой теме не являются четкими или линейными.
Шаг 1: Включите страницы GitHub в настройках GitHub
- Из вашего репо, нажмите на вкладку
- Прокрутите вниз до
GitHub Pages
раздела. У вас есть два варианта:
- Выбор
master branch
будет относиться /README.md
к вашей сети index.html
. Выбор master branch /docs folder
будет относиться /docs/README.md
к вашей сети index.html
.
- Выберите тему
- Подождите минуту, пока GitHub публикует ваш сайт. Убедитесь, что он работает, нажав на ссылку рядом с
Your site is ready to be published at
Шаг 2: Укажите пользовательский домен в настройках GitHub
Введите здесь свое доменное имя и нажмите save
:
Это тонкий, но важный шаг.
- Если пользовательский домен, который вы добавили на свой сайт GitHub Pages
example.com
, www.example.com
будет перенаправлен наexample.com
- Если пользовательский домен, который вы добавили на сайт GitHub Pages
www.example.com
, example.com
будет перенаправлен на www.example.com
.
Как упомянуто ранее, я рекомендую всегда приземляться в, www
таким образом я вошел www.example.com
как показано выше.
Шаг 3: Создайте записи DNS
В веб-консоли вашего DNS-провайдера создайте четыре A
записи и одну CNAME
.
A
Записи для @
(aka root apex):
Некоторые провайдеры DNS попросят вас указать @
, другие (например, AWS Route 53) оставят субдомен пустым для указания @
. В любом случае, они являются A
записи для создания:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- Создайте
CNAME
запись, чтобы указать www.example.com YOUR-GITHUB-USERNAME.github.io
.
Это самая запутанная часть.
Обратите внимание, что YOUR-GITHUB-USERNAME
НЕ GitHub репо! Значение YOUR-GITHUB-USERNAME
определяется этим графиком .
Для сайта с пользовательскими страницами (скорее всего, вы), CNAME
запись будет username.github.io
, например:
Для сайта страниц организации , CNAME
запись будет orgname.github.io
, например:
Шаг 5: Подтвердите записи DNS
Подтвердите свои A
записи, запустив dig +noall +answer example.com
. Он должен вернуть четыре 185.x.x.x
IP-адреса, которые вы ввели.
Подтверждает вашу CNAME
запись, запустив dig www.example.com +nostats +nocomments +nocmd
. Должно вернутьCNAME YOUR-GITHUB-USERNAME.github.io
Разрешение / распространение этих записей DNS может занять около часа. Как только они это сделают, откройте ваш браузер, http://example.com
и он должен перенаправить наhttp://www.example.com
Шаг 6: Конфигурация SSL (HTTPS). Необязательно, но настоятельно рекомендуется
После того, как ваш пользовательский домен заработал, вернитесь к настройкам репо. Если страница настроек уже открыта, обновите страницу.
Если под Enforce HTTPS
флажком есть сообщение о том, что оно все еще обрабатывается, вам придется подождать. Вам также может понадобиться нажать save
кнопку в Custom domain
разделе, чтобы начать Enforce HTTPS
обработку.
После завершения обработки это должно выглядеть так:
Просто установите Enforce HTTPS
флажок и укажите в браузере https://example.com
. Он должен перенаправить и открытьhttps://www.example.com
ЭТО ОНО!
GitHub будет автоматически поддерживать ваш сертификат HTTPS в актуальном состоянии И должен обрабатывать апекс для www
перенаправления по HTTPS.
Надеюсь это поможет!!
...
Старый (до 23.01.19) ответ
Так что я понял это. Джеймс Маклафлин дал мне толчок, который мне был нужен.
Чтобы настроить собственный домен для репозитория Project Pages gh-pages, который обрабатывает www.yourdomain.com и yourdomain.com (предполагается, что у вас уже есть ветка gh-pages в вашем репо):
- Из репо вашего проекта, ветка gh-pages. Создайте файл CNAME с содержимым
yourdomain.com
. Зафиксируйте затем нажмите.
- В вашем диспетчере DNS настройте две
cname
записи. Один для корневого апекса (@) и один для www. Оба указывают на YOURusername.github.io
. Если ваш DNS-провайдер НЕ поддерживает ALIAS
записи в корневой вершине (@), просто создайте A
записи, которые указывают на 192.30.252.153
и192.30.252.154
Подождите, пока обновятся ваши серверы имен:
dig yourdomain.com +nostats +nocomments +nocmd