Skip to main content

Управление личным доменом для сайта "Страницы GitHub"

Вы можете настроить или обновить определенные записи DNS и параметры репозитория, чтобы создать в домене по умолчанию для сайта GitHub Pages ссылку на личный домен.

Кто может использовать эту функцию?

GitHub Pages доступен в общедоступных репозиториях с GitHub Free и GitHub Free для организаций, а также в общедоступных и частных репозиториях с GitHub Pro, GitHub Team, GitHub Enterprise Cloudи GitHub Enterprise Server. Дополнительные сведения см. в разделе "Планы GitHub".

GitHub Pages теперь использует GitHub Actions для выполнения сборки Jekyll. При использовании ветви в качестве источника сборки GitHub Actions необходимо включить в репозитории, если вы хотите использовать встроенный рабочий процесс Jekyll. Кроме того, если GitHub Actions недоступен или отключен, добавление .nojekyll файла в корень исходной ветви будет обойти процесс сборки Jekyll и развернуть содержимое напрямую. Дополнительные сведения о включении GitHub Actionsсм. в разделе "Управление параметрами GitHub Actions для репозитория".

Platform navigation

Пользователи с разрешениями администратора для репозитория могут настроить личный домен для сайта GitHub Pages.

Сведения о конфигурации личного домена

Tip

Мы рекомендуем проверить личный домен перед добавлением его в репозиторий, чтобы повысить безопасность и избежать атак на переход. Дополнительные сведения см. в разделе Проверка личного домена для GitHub Pages.

Прежде чем настраивать личный домен с помощью поставщика DNS, добавьте личный домен на сайт GitHub Pages. Настройка личного домена с помощью поставщика DNS без добавления личного домена в GitHub может привести к тому, что другой пользователь сможет разместить сайт на одном из поддоменов.

Команда dig, которую можно использовать для проверки правильности конфигурации записей DNS, не включена в Windows. Чтобы убедиться, что записи DNS настроены правильно, можно использовать Resolve-DnsName команду PowerShell или установить BIND.

Note

Для распространения изменений DNS может потребоваться до 24 часов.

Настройка домена apex

Чтобы настроить домен apex, например example.com, необходимо с помощью поставщика DNS настроить личный домен в параметрах репозитория и как минимум одну запись ALIAS, ANAME или A.

  1. В GitHubперейдите в репозиторий сайта.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Код и автоматизация" боковой панели щелкните Pages.

  4. В поле "Личный домен" укажите личный домен и нажмите Сохранить. При публикации сайта из ветви будет создана фиксация, которая добавляет CNAME файл непосредственно в корневой каталог исходной ветви. Если вы публикуете сайт с пользовательским рабочим процессом GitHub Actions, файл не CNAME создается, поэтому вам нужно создать один вручную (содержащий только строку текста с личным доменом). Дополнительные сведения о источнике публикации см. в разделе "Настройка источника публикации для сайта GitHub Pages".

  5. Перейдите к поставщику DNS и создайте запись ALIAS, ANAME или A. Вы также можете создавать записи AAAA для поддержки IPv6. Если вы реализуете поддержку IPv6, мы настоятельно рекомендуем использовать A запись в дополнение к вашей AAAA записи из-за медленного внедрения IPv6 глобально. Дополнительные сведения о создании правильной записи см. в документации поставщика DNS.

    • Чтобы создать запись ALIAS или ANAME, укажите свой домен apex в домене по умолчанию для вашего сайта. Дополнительные сведения о домене по умолчанию для вашего сайта см. в разделе "Описание GitHub Pages".

    • Чтобы создать записи A, укажите свой домен apex в IP-адресе для GitHub Pages.

      185.199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
      
    • Чтобы создать записи AAAA, укажите свой домен apex в IP-адресе для GitHub Pages.

      2606:50c0:8000::153
      2606:50c0:8001::153
      2606:50c0:8002::153
      2606:50c0:8003::153
      

    Warning

    Настоятельно рекомендуется не использовать подстановочные записи DNS, например *.example.com. Эти записи ставят вас под непосредственный риск отработки домена, даже если вы проверяете домен. Например, если проверить example.com это, кто-то не сможет использовать a.example.com , но он по-прежнему может взять на себя b.a.example.com (который рассматривается подстановочными знаками DNS-записи). Дополнительные сведения см. в разделе Проверка личного домена для GitHub Pages.

  6. Откройте ТерминалТерминалGIT Bash.

  7. Чтобы проверить правильность настройки записи DNS, используйте команду dig, заменив EXAMPLE.COM своим доменом apex. Убедитесь, что результаты соответствуют IP-адресам для GitHub Pages выше.

    • Для A записей:

      $ dig EXAMPLE.COM +noall +answer -t A
      > EXAMPLE.COM    3600    IN A     185.199.108.153
      > EXAMPLE.COM    3600    IN A     185.199.109.153
      > EXAMPLE.COM    3600    IN A     185.199.110.153
      > EXAMPLE.COM    3600    IN A     185.199.111.153
      
    • Для AAAA записей:

      $ dig EXAMPLE.COM +noall +answer -t AAAA
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8000::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8001::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8002::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8003::153
      

      Не забудьте также проверить A запись.

  8. Если вы используете генератор статических сайтов для локального создания сайта и отправляете созданные файлы в GitHub, вытяните фиксацию, которая добавила файл CNAME в локальный репозиторий. Дополнительные сведения см. в разделе Устранение неполадок с личными доменами и страницами GitHub.

  9. При необходимости, чтобы применить шифрование HTTPS для сайта, выберите Принудительно использовать HTTPS. Этот параметр может стать доступным в течение 24 часов. Дополнительные сведения см. в разделе Защита сайта GitHub Pages с помощью HTTPS.

Настройка домена apex и варианта поддомена www

Note

Настройка поддомена вместе с доменом www apex рекомендуется для защищенных веб-сайтов HTTPS.

Если вы используете домен вершины в качестве личного домена, рекомендуется также настроить поддомен www. Если вы настроите правильные записи для каждого типа домена с помощью поставщика DNS, GitHub Pages автоматически создаст перенаправления между доменами. Например, если вы настраиваете www.example.com в качестве личного домена для сайта, а у вас есть записи DNS GitHub Pages, настроенные для вершины и доменов www, то example.com выполняет перенаправление в www.example.com. Обратите внимание, что автоматические перенаправления применяются только к поддомену www. Автоматические перенаправления не применяются к другим поддоменам, таким как blog. Дополнительные сведения см. в статье Настройка поддомена.

Перейдите к поставщику DNS и создайте CNAME запись для www поддомена, указывающего на домен GitHub Pages по умолчанию. Например, если ваш сайт расположен<user>.github.io, необходимо создать записьwww.example.com, указывающую на <user>.github.io аналогично, для сайта организации, находящегося на <organization>.github.ioсайте организации, необходимо создать CNAME CNAME запись, на которую указывает www.example.com <organization>.github.io. Убедитесь, что CNAME запись указывает непосредственно или <organization>.github.io <user>.github.io без включения имени репозитория.

Дополнительные сведения о создании правильной записи см. в документации поставщика DNS. Дополнительные сведения о домене по умолчанию для вашего сайта см. в разделе "Описание GitHub Pages".

Настройка поддомена

Чтобы настроить www или личный поддомен, например www.example.com или blog.example.com, необходимо добавить домен в параметры репозитория. После этого с помощью поставщика DNS настройте запись CNAME.

  1. В GitHubперейдите в репозиторий сайта.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Код и автоматизация" боковой панели щелкните Pages.

  4. В поле "Личный домен" укажите личный домен и нажмите Сохранить. При публикации сайта из ветви будет создана фиксация, которая добавляет CNAME файл непосредственно в корневой каталог исходной ветви. Если вы публикуете сайт с пользовательским рабочим процессом GitHub Actions, файл не CNAME создается, поэтому вам нужно создать один вручную (содержащий только строку текста с личным доменом). Дополнительные сведения о источнике публикации см. в разделе "Настройка источника публикации для сайта GitHub Pages".

    Note

    Если личный домен является международным доменным именем, необходимо ввести версию в кодировке Punycode.

    Дополнительные сведения о Punycodes см. в разделе "Международное доменное имя".

  5. Перейдите к поставщику DNS и создайте запись CNAME, указывающую поддомен в домен по умолчанию для сайта. Например, если вы хотите использовать поддомен www.example.com для сайта пользователя, создайте запись CNAME, указывающую www.example.com в <user>.github.io. Если вы хотите использовать поддомен another.example.com для сайта организации, создайте запись CNAME, указывающую another.example.com в <organization>.github.io. Запись CNAME всегда должна указывать в <user>.github.io или <organization>.github.io, за исключением имени репозитория. Дополнительные сведения о создании правильной записи см. в документации поставщика DNS. Дополнительные сведения о домене по умолчанию для вашего сайта см. в разделе "Описание GitHub Pages".

    Warning

    Настоятельно рекомендуется не использовать подстановочные записи DNS, например *.example.com. Эти записи ставят вас под непосредственный риск отработки домена, даже если вы проверяете домен. Например, если проверить example.com это, кто-то не сможет использовать a.example.com , но он по-прежнему может взять на себя b.a.example.com (который рассматривается подстановочными знаками DNS-записи). Дополнительные сведения см. в разделе Проверка личного домена для GitHub Pages.

  6. Откройте ТерминалТерминалGIT Bash.

  7. Чтобы проверить правильность настройки записи DNS, используйте команду dig, заменив WWW.EXAMPLE.COM своим поддоменом.

    $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd
    > ;WWW.EXAMPLE.COM.                    IN      A
    > WWW.EXAMPLE.COM.             3592    IN      CNAME   YOUR-USERNAME.github.io.
    > YOUR-USERNAME.github.io.      43192   IN      CNAME   GITHUB-PAGES-SERVER .
    > GITHUB-PAGES-SERVER .         22      IN      A       192.0.2.1
    
  8. Если вы используете генератор статических сайтов для локального создания сайта и отправляете созданные файлы в GitHub, вытяните фиксацию, которая добавила файл CNAME в локальный репозиторий. Дополнительные сведения см. в разделе Устранение неполадок с личными доменами и страницами GitHub.

  9. При необходимости, чтобы применить шифрование HTTPS для сайта, выберите Принудительно использовать HTTPS. Этот параметр может стать доступным в течение 24 часов. Дополнительные сведения см. в разделе Защита сайта GitHub Pages с помощью HTTPS.

    Note

    Если указать пользовательский поддомен в домен вершины, вы столкнетесь с проблемами, связанными с применением HTTPS на веб-сайте, и вы можете столкнуться с проблемами, когда поддомен не достигнет вашего сайта GitHub Pages.

Записи DNS для личного домена

Если вы знакомы с процессом настройки домена для сайта GitHub Pages, можно использовать таблицу ниже, чтобы найти значения DNS для конкретного сценария и типы записей DNS, поддерживаемые поставщиком DNS. Дополнительные сведения о том, как настроить сайт GitHub Pages на GitHub и как проверить конфигурацию с помощью dig команды, см. в разделах выше.

Чтобы настроить домен вершины, необходимо выбрать только один тип записи DNS из приведенной ниже таблицы. Чтобы настроить домен вершины и www поддомен (например, example.com и www.example.com), настройте домен вершины, а затем поддомен. Дополнительные сведения см. в разделе "Настройка верхнего домена и www варианта поддомена".

Warning

Настоятельно рекомендуется не использовать подстановочные записи DNS, например *.example.com. Эти записи ставят вас под непосредственный риск отработки домена, даже если вы проверяете домен. Например, если проверить example.com это, кто-то не сможет использовать a.example.com , но он по-прежнему может взять на себя b.a.example.com (который рассматривается подстановочными знаками DNS-записи). Дополнительные сведения см. в разделе Проверка личного домена для GitHub Pages.

СценарийТипы записей DNSDNS-имя записиЗначения записи DNS
Вершинный домен
(example.com)
A@185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Вершинный домен
(example.com)
AAAA@2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153
Вершинный домен
(example.com)
ALIAS или ANAME@USERNAME.github.io или
ORGANIZATION.github.io
Поддомен
(www.example.com,
blog.example.com)
CNAMESUBDOMAIN.example.com.USERNAME.github.io или
ORGANIZATION.github.io

Удаление личного домена

Если возникает ошибка о том, что личный домен принимается, может потребоваться удалить личный домен из другого репозитория.

  1. В GitHubперейдите в репозиторий сайта.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Код и автоматизация" боковой панели щелкните Pages.

  4. В разделе "Личный домен" нажмите Удалить.

    Снимок экрана: поле параметров для сохранения или удаления личного домена на GitHub Pages . Справа от текстового поля с надписью "example.com" является кнопка с надписью "Удалить" в красном типе.

Защита личного домена

Если ваш сайт GitHub Pages отключен, но для него настроен личный домен, существует риск перехвата домена. Если личный домен настраивался с использованием поставщика DNS пока как ваш сайт отключен, это может привести к тому, что другой пользователь разместит сайт в одном из ваших поддоменов.

Проверка вашего личного домена запрещает другим пользователям GitHub использовать ваш домен со своими репозиториями. Если домен не проверен и ваш сайт GitHub Pages отключен, необходимо немедленно обновить или удалить записи DNS с помощью поставщика DNS. Дополнительные сведения см. в разделе "Проверка личного домена для GitHub Pages".

Дополнительные материалы