关于� 输层安全
当 GitHub Enterprise Server 首次启动时,会启用 TLS(替代了 SSL)并通过自签名证书进行配置。 由于自签名证书不受 Web 浏览器和 Git 客户端的信任,� 此这些客户端将报告证书警告,直至您禁用 TLS 或上� 由 Let's Encrypt 等可信颁发机构签名的证书。
GitHub Enterprise Server 设备将在 SSL 启用时发送 HTTP 严� �� 输安全� �头。 禁用 TLS 会导致用户� 法访问设备,� 为用户的浏览器将不允许协议降级为 HTTP。 更多信息请参阅 Wikipedia 上的“HTTP 严� �� 输安全 (HSTS)”。
警告: 在负载均衡器上终止 HTTPS 连接时,从负载均衡器到 GitHub Enterprise Server 的请求也需要使用 HTTPS。 不支持降级到 HTTP 连接。
要允许用户使用 FIDO U2F 进行双重身份验证,您必须为实例启用 TLS。 更多信息请参阅“配置双重身份验证”。
基本要求
要在生产中使用 TLS,您必须具有由可信证书颁发机构签名的未� 密 PEM � �式的证书。
您的证书还需要为“启用子域隔离”中列出的子域配置使用者可选名称,如果证书已由中间证书颁发机构签名,将需要包含完整的证书链。 更多信息请参阅 Wikipedia 上的“使用者可选名称”。
您可以使用 ghe-ssl-generate-csr
命令为实例生成证书签名请求 (CSR)。 更多信息请参阅“命令行实用程序”。
上� 自定义 TLS 证书
Warning: Configuring TLS causes a small amount of downtime for your GitHub Enterprise Server instance.
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
在左侧边� �中,单击 管理控制台。
-
在左侧边� �中,单击 Privacy(隐私)。
-
选择 TLS only (recommended)(仅 TLS (推荐))。
-
在“TLS Protocol support”下,选择您想要允许的协议。
-
在“Certificate”下,单击 Choose File,选择要安装的 TLS 证书或证书链(PEM � �式)。 此文件通常采用 .pem、.crt 或 .cer 扩展名。
-
在“Unencrypted key(未� 密密钥)”下,单击 Choose File(选择文件)选择要安装的 RSA 密钥(PEM � �式)。 此文件通常采用 .key 扩展名。
警告:您的密钥必须是 RSA 密钥,并且不能有密� �。 更多信息请参阅“将密� �从密钥文件中移除”。
-
在左侧边� �下,单击 Save settings(保存设置)。
Note: Saving settings in the 管理控制台 restarts system services, which could result in user-visible downtime.
-
等待配置运行完毕。
关于 Let's Encrypt 支持
Let's Encrypt 是公共证书颁发机构,他们使用 ACME 协议颁发受浏览器信任的免费、自动化 TLS 证书。 您可以在设备上自动获取并续订 Let's Encrypt 证书,� 需手动维护。
要使用“让我们� 密”自动化,您的设备必须配置可通过 HTTP 公开访问的主机名。 该设备还必须可以进行出站 HTTPS 连接。
在您启用通过 Let's Encrypt 自动进行 TLS 证书管理后,your GitHub Enterprise Server instance 将与 Let's Encrypt 服务器通信,以获取证书。 要续订证书,Let's Encrypt 服务器必须通过入站 HTTP 请求验证已配置域名的控制。
您还可以在 your GitHub Enterprise Server instance 上使用 ghe-ssl-acme
命令行实用程序自动生成 Let's Encrypt 证书。 更多信息请参阅“命令行实用程序”。
使用 Let's Encrypt 配置 TLS
要使用“让我们� 密”自动化,您的设备必须配置可通过 HTTP 公开访问的主机名。 该设备还必须可以进行出站 HTTPS 连接。
Warning: Configuring TLS causes a small amount of downtime for your GitHub Enterprise Server instance.
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
在左侧边� �中,单击 管理控制台。
-
在左侧边� �中,单击 Privacy(隐私)。
-
选择 TLS only (recommended)(仅 TLS (推荐))。
-
选择 Enable automation of TLS certificate management using Let's Encrypt。
-
在左侧边� �下,单击 Save settings(保存设置)。
Note: Saving settings in the 管理控制台 restarts system services, which could result in user-visible downtime.
-
等待配置运行完毕。
-
在左侧边� �中,单击 Privacy(隐私)。
-
单击 Request TLS certificate。
-
等待“状态”从“开始”更改为“完成”。
-
单击 Save configuration。