Пользователи с разрешениями администратора для репозитория могут применять протокол HTTPS для сайта GitHub Pages.
Сведения о HTTPS и GitHub Pages
Все сайты GitHub Pages, включая сайты, которые правильно настроены с помощью личного домена, поддерживают HTTPS и принудительное применение HTTPS. Дополнительные сведения о личных доменах см. в разделах Сведения о личных доменах и страницах GitHub и Устранение неполадок с личными доменами и страницами GitHub.
Сайты GitHub Pages не должны использоваться для конфиденциальных транзакций, таких как отправка паролей или номеров кредитных карт.
Предупреждение. Если ваше предприятие не использует Enterprise Managed Users, сайты GitHub Pages по умолчанию находятся в открытом доступе, даже если репозиторий для сайта является частным или внутренним. Для публикации сайта с закрытым доступом используйте управление доступом. Либо, если в репозитории вашего сайта есть конфиденциальные данные, удалите их перед публикацией. Дополнительные сведения см. в разделах Сведения о репозиториях и Изменение видимости сайта GitHub Pages.
Примечание. RFC3280 указывает, что длина общего имени должна быть не более 64 символов. Таким образом, для успешного создания сертификата все доменное имя сайта GitHub Pages должно быть меньше 64 символов.
Принудительное применение протокола HTTPS для сайта GitHub Pages
-
В GitHub Enterprise Cloudперейдите в репозиторий сайта. 1. Под именем репозитория щелкните Параметры. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку Параметры.
-
В разделе "Код и автоматизация" боковой панели щелкните Pages.
-
В разделе "GitHub Pages" выберите Применить HTTPS.
Устранение неполадок при подготовке сертификатов (ошибка "Сертификат еще не создан")
При настройке или изменении личного домена в параметрах страниц начинается автоматическая проверка DNS. Эта проверка определяет, настроены ли параметры DNS, чтобы разрешить GitHub получать сертификат автоматически. Если проверка выполнена успешно, GitHub помещает задание в очередь для запроса сертификата TLS из Let's Encrypt. При получении допустимого сертификата GitHub автоматически отправляет его на серверы, обрабатывающие завершение сеанса TLS для страниц. После успешного завершения этого процесса рядом с именем личного домена отображается флажок.
Этот процесс может занять некоторое время. Если процесс не завершился в течение нескольких минут после нажатия кнопки Сохранить, попробуйте нажать кнопку Удалить рядом с именем личного домена. Повторно введите доменное имя и нажмите кнопку Сохранить еще раз. Это приведет к отмене и перезапуску процесса подготовки.
Устранение проблем со смешанным содержимым
Если вы включаете HTTPS для сайта GitHub Pages, но код HTML сайта по-прежнему ссылается на изображения, каскадные таблицы стилей или JavaScript по протоколу HTTP, это означает, что ваш сайт обслуживает смешанное содержимое. Обслуживание смешанного содержимого может сделать сайт менее безопасным и привести к проблемам с загрузкой ресурсов.
Чтобы удалить смешанное содержимое сайта, обеспечьте, чтобы все ресурсы обслуживались по протоколу HTTPS, изменив http://
на https://
в HTML-коде сайта.
Ресурсы обычно находятся в следующих расположениях:
- Если ваш сайт использует Jekyll, то HTML-файлы, скорее всего, находятся в папке _layouts.
- Каскадные таблицы стилей обычно находятся в разделе
<head>
HTML-файла. - JavaScript обычно находится в разделе
<head>
или непосредственно перед закрывающим тегом</body>
. - Изображения часто находятся в разделе
<body>
.
Совет. Если вы не можете найти ресурсы в исходных файлах сайта, попробуйте найти исходные файлы сайта для http
в текстовом редакторе или в GitHub Enterprise Cloud.
Примеры ресурсов, на которые ссылается HTML-файл
Тип ресурса | HTTP | HTTPS |
---|---|---|
CSS | <link rel="stylesheet" href="http://example.com/css/main.css"> | <link rel="stylesheet" href="https://example.com/css/main.css"> |
JavaScript | <script type="text/javascript" src="http://example.com/js/main.js"></script> | <script type="text/javascript" src="https://example.com/js/main.js"></script> |
Image | <a href="http://www.somesite.com"><img src="http://www.example.com/logo.jpg" alt="Logo"></a> | <a href="https://www.somesite.com"><img src="https://www.example.com/logo.jpg" alt="Logo"></a> |