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 с 30 июня 2024 года. Другие изменения не требуются, но для продолжения сборки необходимо включить GitHub Actions в репозитории. Дополнительные сведения о включении GitHub Actionsсм. в разделе "Управление параметрами GitHub Actions для репозитория".

Platform navigation

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

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

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

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

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

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

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

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

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

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

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

  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
      

    Предупреждение. Настоятельно рекомендуется не использовать дикие записи 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 Enterprise Cloud, вытяните фиксацию, которая добавила файл CNAME в локальный репозиторий. Дополнительные сведения см. в разделе Устранение неполадок с личными доменами и страницами GitHub.

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

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

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

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

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

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

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

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

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

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

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

    Примечание. Если личный домен является международным доменным именем, необходимо ввести версию в кодировке 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".

    Предупреждение. Настоятельно рекомендуется не использовать дикие записи 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 Enterprise Cloud, вытяните фиксацию, которая добавила файл CNAME в локальный репозиторий. Дополнительные сведения см. в разделе Устранение неполадок с личными доменами и страницами GitHub.

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

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

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

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

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

Предупреждение. Настоятельно рекомендуется не использовать дикие записи 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)
CNAMESUBDOMAINUSERNAME.github.io или
ORGANIZATION.github.io

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

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

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

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

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

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

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

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

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

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

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

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