Skip to main content

Управление пользовательским доменом для вашего сайта GitHub Pages

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

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

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

Platform navigation

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

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

Совет

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

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

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

Примечание.

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

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

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

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

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

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

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

  4. В поле "Личный домен" укажите личный домен и нажмите Сохранить. При публикации сайта из ветви будет создана фиксация, которая добавляет CNAME файл непосредственно в корневой каталог исходной ветви. Если вы публикуете из пользовательского рабочего процесса GitHub Actions, файл не CNAME создается, а существующий 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 автоматически задает запись по умолчанию, удалите ее перед продолжением.

Предупреждение

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

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

  2. Чтобы проверить правильность настройки записи 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
      
  3. Если вы используете генератор статических сайтов для локальной сборки сайта и отправляете созданные файлы в GitHub, извлеките фиксацию, которая добавила файл CNAME в локальный репозиторий. Дополнительные сведения см. в разделе Устранение неполадок с пользовательскими доменами и страницами GitHub.

  4. При необходимости, чтобы применить шифрование 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. Если вы вместо этого настраиваете example.com в качестве личного домена, то www.example.com перенаправит его example.comв . Автоматические перенаправления также применяются к другим поддоменам, как www.blog.example.com и перенаправление в blog.example.com другое или наоборот. Невозможно настроить домен, который начинается с www.www.. Дополнительные сведения см. в разделе "Настройка поддомена".

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

  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.

    Примечание.

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

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

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

Чтобы настроить домен вершины, добавьте все A и записи из приведенной ниже таблицы или также добавьте только AAAA``ALIAS/ запись из таблицы.ANAME Чтобы настроить домен вершины и www поддомен (например, example.com и www.example.com), настройте домен вершины, а затем поддомен. Дополнительные сведения см. в разделе "Настройка домена вершины" и www варианта поддомена.

Предупреждение

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

СценарийТипы записей 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` или<br /> `ORGANIZATION.github.io` |

| Поддомен
(www.example.com,
blog.example.com( | CNAME | SUBDOMAIN.example.com. | USERNAME.github.io или
ORGANIZATION.github.io |

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

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

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

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

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

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

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

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

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

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

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

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