Сведения о протоколе TLS
Протокол TLS, пришедший на замену SSL, включается и настраивается с помощью самозаверяющего сертификата при первом запуске GitHub Enterprise Server. Так как самозаверяющие сертификаты не являются доверенными для веб-браузеров и клиентов Git, эти клиенты будут отправлять предупреждения о сертификатах, пока вы не отключите TLS или не отправите сертификат, подписанный доверенным центром, таким как Let's Encrypt.
Устройство GitHub Enterprise Server отправляет заголовки HTTP Strict Transport Security при включении SSL. Отключение TLS приведет к тому, что пользователи потеряют доступ к устройству, так как браузеры не разрешают понижение уровня протокола до HTTP. Дополнительные сведения см. в статье HTTP Strict Transport Security (HSTS) в Википедии.
Предупреждение. При прекращении подключений HTTPS в подсистеме балансировки нагрузки запросы от подсистемы балансировки нагрузки к GitHub Enterprise Server также должны использовать протокол HTTPS. Понижение уровня подключения к HTTP не поддерживается.
Чтобы разрешить пользователям использовать FIDO U2F для двухфакторной проверки подлинности, вы должны включить TLS для своего экземпляра. Подробнее: Настройка двухфакторной проверки подлинности.
Предварительные требования
Чтобы использовать TLS в рабочей среде, необходимо иметь сертификат в незашифрованном формате PEM, подписанный доверенным центром сертификации.
Сертификату также потребуются альтернативные имена субъектов, настроенные для поддоменов, перечисленных в разделе Включение изоляции поддоменов, и вам нужно будет включить полную цепочку сертификатов, если сертификат был подписан промежуточным центром сертификации. Дополнительные сведения см. в статье Альтернативное имя субъекта в Википедии.
Вы можете создать запрос на подпись сертификата (CSR) для своего экземпляра с помощью команды ghe-ssl-generate-csr
. Дополнительные сведения см. в статье "Программы командной строки".
Это должен быть ключ RSA, который не имеет парольную фразу. Дополнительные сведения см. в разделе Удаление парольной фразы из файла ключа.
Отправка настраиваемого сертификата TLS
Предупреждение: Настройка TLS приводит к небольшому простою экземпляр GitHub Enterprise Server.
-
Из учетной записи администратора на GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
-
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
1. На боковой панели слева нажмите Консоль управления .
1. На боковой панели слева нажмите Проекты.
1. Выберите Только TLS (рекомендуется) .
-
В разделе "Поддержка протокола TLS" выберите протоколы, которые вы хотите разрешить.
-
В разделе "Сертификат" щелкните Выбрать файл, чтобы выбрать сертификат TLS или цепочку сертификатов (в формате PEM) для установки. Обычно этот файл имеет расширение PEM, CRT или CER.
-
В разделе "Незашифрованный ключ" щелкните Выбрать файл, чтобы выбрать ключ RSA (в формате PEM) для установки. Этот файл обычно имеет расширение KEY.
-
Нажмите кнопку Сохранить параметры под левой боковой панелью.
Примечание. Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простою, заметному для пользователей.
-
Ожидайте завершения запуска конфигурации.
Сведения о поддержке Let's Encrypt
Let's Encrypt — это общедоступный центр сертификации, который выдает бесплатные автоматические сертификаты TLS, которые принимаются как доверенные браузерами, использующими протокол ACME. Вы можете автоматически получать и обновлять сертификаты Let's Encrypt на устройстве без необходимости обслуживания вручную.
Чтобы использовать автоматизацию Let's Encrypt, устройство необходимо настроить с помощью имени узла, общедоступного по протоколу HTTP. Устройству также необходимо разрешить создание исходящих HTTPS-подключений.
При включении автоматизации управления сертификатами TLS с помощью Let's Encrypt экземпляр GitHub Enterprise Server свяжется с серверами Let's Encrypt для получения сертификата. Для обновления сертификата серверы Let's Encrypt должны проверить управление настроенным доменным именем с помощью входящих HTTP-запросов.
Вы также можете использовать служебную ghe-ssl-acme
программу командной строки в экземпляр GitHub Enterprise Server для автоматического создания сертификата Let's Encrypt. Дополнительные сведения см. в статье "Программы командной строки".
Настройка TLS с помощью Let's Encrypt
Чтобы использовать автоматизацию Let's Encrypt, устройство необходимо настроить с помощью имени узла, общедоступного по протоколу HTTP. Устройству также необходимо разрешить создание исходящих HTTPS-подключений.
Предупреждение: Настройка TLS приводит к небольшому простою экземпляр GitHub Enterprise Server.
-
Из учетной записи администратора на GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
-
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
1. На боковой панели слева нажмите Консоль управления .
1. На боковой панели слева нажмите Проекты.
1. Выберите Только TLS (рекомендуется) .
-
Выберите Включить автоматизацию управления сертификатами TLS с помощью Let's Encrypt.
1. Нажмите кнопку Сохранить параметры под левой боковой панелью.
Примечание. Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простою, заметному для пользователей.
-
Ожидайте завершения запуска конфигурации.
1. На боковой панели слева нажмите Проекты.
-
Нажмите кнопку Запросить сертификат TLS.
-
Подождите, пока состояние изменится со "STARTED" на "DONE".
-
Щелкните Save Configuration (Сохранить конфигурацию).