Сведения о протоколе 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, подписанный доверенным центром сертификации. Чтобы использовать сертификат, подписанный внутренним центром сертификации, необходимо установить корневой сертификат и все промежуточные сертификаты. Дополнительные сведения см. в разделе Устранение неполадок с TLS.
Сертификату также потребуются альтернативные имена субъектов, настроенные для поддоменов, перечисленных в "AUTOTITLE", и потребуется включить полную цепочку сертификатов, если она была подписана промежуточным центром сертификации. Дополнительные сведения см. в статье Альтернативное имя субъекта в Википедии.
Вы можете создать запрос на подпись сертификата (CSR) для своего экземпляра с помощью команды ghe-ssl-generate-csr
. Дополнительные сведения см. в разделе Служебные программы командной строки.
Это должен быть ключ RSA, который не имеет парольную фразу. Дополнительные сведения см. в разделе Устранение неполадок с TLS.
Отправка настраиваемого сертификата 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. На боковой панели "Параметры" щелкните Конфиденциальность.
-
Нажмите кнопку Запросить сертификат TLS.
-
Подождите, пока состояние изменится со "STARTED" на "DONE".
-
Щелкните Save Configuration (Сохранить конфигурацию).