机房屏蔽海外?导致 Let’s Encrypt 证书续签失败的解决方案

最近我们陆续收到用户反馈:用户服务器所在机房限制海外网络访问,在这种情况下,原本正常使用的 Let’s Encrypt 免费证书出现了续签失败的情况。这类问题并不是配置错误或面板程序问题,而是由于证书验证过程依赖海外服务,在网络受限环境下无法完成校验所导致。(如下图所示)

针对这一情况,建议将宝塔面板更新至 11.5.0 版本,并切换为 LiteSSL + DNS 验证方式,即可在不依赖海外访问的前提下完成证书签发与续签。

解决方案

1. 更新面板版本到11.5.0及以上版本

2. 打开网站-找到之前已经申请Let’s Encrypt证书的网站-点击SSL证书

3. 点击免费证书-申请证书

4. 选择LIteSSL-DNS验证-首次使用DNS验证需要配置DNS

注意,不能用文件验证,至于原因我文末会讲

5. 点击配置DNS,首次需要先添加DNS验证

6. 如果未添加过首先需要完成添加,注意,在机房封禁海外连接的场景下仅能选择国内厂商

7. 此处以腾讯云为例,前往腾讯云CAM控制台获取SecretID和SecretKey

实际使用过程中请选择自己的厂商,如果不知道如何获取可以咨询厂商客服,此处只是举个例子,另外请保存好你的密钥不要泄漏,此处已销毁

8. 返回面板完成配置

9. 点击申请证书

等待验证

10. 申请完成后将自动部署,后续到期前会自动续期。

常见问题

Q1:为什么采用 LiteSSL?

A1:LiteSSL 为亚洲诚信 TrusAsia 旗下,其ACME服务器在中国大陆境内,不受机房封禁海外影响,可以正常连接创建订单&获取证书验证信息。

Q2:为什么 LiteSSL ACME服务器在中国大陆境内仍需要采用 DNS 验证?

A2:如采用文件验证,CA 需要从全球多地多台访问服务器完成验证,在机房封禁海外的场景下仍然无法正常完成文件验证,而公有云的 DNS 厂商的服务器通常部署在全球多节点,因此能正常完成验证。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部