Pages 与 Let’s Encrypt 集成 (BASIC SELF)
Pages 与 Let’s Encrypt (LE) 的集成允许您将 LE 证书用于具有自定义域名的 Pages 网站,而无需自己发布和更新它们。
Let’s Encrypt 是一个免费的、自动化的和开源的证书颁发机构。
此功能仅涵盖自定义域名的证书,不包括运行 Pages daemon 所需的通配符证书 (BASIC SELF)。
先决条件
在为您的域名启用 SSL 证书的自动配置之前,请确保您具有:
- 在极狐GitLab 中创建了一个项目,其中包含您网站的源代码。
- 获取一个域名 (
example.com
) 并添加一个 DNS 条目,将其指向您的 Pages 网站。顶级域名 (.com
) 必须是公共后缀。 - 将您的域名添加到您的 Pages 项目并验证您的所有权。
- 验证您的网站已启动并正在运行,可通过您的自定义域名访问。
对于私有化部署实例,请确保您的管理员已启用它。
为您的自定义域名启用 Let’s Encrypt 集成
满足要求后,启用 Let’s Encrypt 集成:
- 导航到您项目的 设置 > Pages。
- 找到您的域并选择 详情。
- 选择右上角的 编辑。
-
通过切换 使用 Let’s Encrypt 的自动证书管理 启用 Let’s Encrypt 集成:
- 选择 保存修改。
启用后,系统将获得 LE 证书并将其添加到关联的 Pages 域名。系统也会自动更新它。
注意:
- 颁发证书和更新 Pages 配置最多可能需要一个小时。
- 如果您在域名设置中已经有 SSL 证书,它会继续工作,直到被 Let’s Encrypt 的证书取代。
故障排除
错误 “Something went wrong while obtaining the Let’s Encrypt certificate”
如果您收到错误 “Something went wrong while obtaining the Let’s Encrypt certificate”,首先,请确保您的 Pages 站点在项目的 设置 > 通用 > 可见性 中设置为“所有人”,这样可以允许 Let’s Encrypt Servers 访问您的 Pages 站点。确认后,您可以按照以下步骤再次尝试获取证书:
- 转到您项目的 设置 > Pages。
- 在您的域中选择 编辑。
- 选择 重试。
- 如果您仍然看到相同的错误:
- 确保您只为您的域名正确设置了一个 DNS
CNAME
或A
记录。 - 确保您的域名没有
AAAA
DNS 记录。 - 如果您的域名或任何更高级别的域名有
CAA
DNS 记录,请确保 它包括letsencrypt.org
。 - 确保您的域名已验证。
- 转到步骤 1。
- 确保您只为您的域名正确设置了一个 DNS
消息 “GitLab is obtaining a Let’s Encrypt SSL certificate for this domain. This process can take some time. Please try again later.” 持续超过一小时
如果您已启用 Let’s Encrypt 集成,但一个小时后证书不存在,并且您看到消息 “GitLab is obtaining a Let’s Encrypt SSL certificate for this domain. This process can take some time. Please try again later.”,尝试按照以下步骤再次删除和添加 Pages 的域名:
- 转到您项目的 设置 > Pages。
- 在您的域名中选择 删除。
- 再次添加域名并验证。
- 为您的域名启用 Let’s Encrypt 集成。
- 如果一段时间后您仍然看到相同的消息:
- 确保您只为您的域名正确设置了一个 DNS
CNAME
或A
记录。 - 确保您的域名没有
AAAA
DNS 记录。 - 如果您的域名或任何更高级别的域名有
CAA
DNS 记录,请确保它包括letsencrypt.org
。 - 转到步骤 1。
- 确保您只为您的域名正确设置了一个 DNS