Let's Encrypt 托管证书

OpenResty Edge 可以从 Let’s Encrypt 自动获取和续期 TLS 证书。 支持以下类型的证书及其任意组合:

  • 单域名证书:如 example.com
  • SAN(Subject Alternative Name)多域名证书:如同时包含 example.comwww.example.com
  • 泛域名证书:如 *.example.com

前提条件

Let’s Encrypt 对非泛域名和泛域名使用不同的验证方式。OpenResty Edge 在签发时会自动检测每个域名应使用哪种方式,但需要你提前完成相应的配置。

非泛域名(如 example.comwww.example.com

使用 HTTP 验证。Let’s Encrypt 会向该域名发送 HTTP 请求,因此需要在你的域名提供商处,将该域名的 A 记录指向当前 Gateway Cluster 的 OpenResty Edge Node IP。

DNS 可以托管在任何地方,只要解析结果指向 OpenResty Edge Node 即可。

如果 A 记录未指向 OpenResty Edge Node,但该域名的权威 DNS 已托管在 OpenResty Edge 上,则会自动回退到 DNS 验证。

泛域名(如 *.example.com*.a.example.com

将会使用 DNS 验证(Let’s Encrypt 的要求)。需要完成以下两步配置:

1. 在 OpenResty Edge 上托管 DNS 应用

将泛域名的父域名(或更上级域名)作为 DNS 应用托管在 OpenResty Edge 中。例如:

泛域名证书需托管的 DNS 应用(任选其一)
*.example.comexample.com
*.a.example.coma.example.comexample.com
*.a.b.example.coma.b.example.comb.example.comexample.com

2. 在域名注册商处将 NS 记录指向 OpenResty Edge

在域名注册商(如 GoDaddy、Namecheap 等)处,将对应域名的 NS 记录指向 OpenResty Edge Node,使 OpenResty Edge 成为该域名的权威 DNS 服务器。

修改 NS 记录意味着将该域名的整个 DNS 解析权交给 OpenResty Edge。请确保已在 OpenResty Edge 的 DNS 应用中正确配置了所有需要的 DNS 记录。

您可以参考以下 《将域名的 DNS 解析迁移到 OpenResty Edge》 相关文档。

签发证书

第一步:点击 “新证书” 按钮,然后选择 “Let’s Encrypt”

第二步:填写一个或多个域名,然后点击 “保存”

第三步:OpenResty Edge 会自动完成域名验证、证书申请和部署。刷新页面可查看签发状态。

自动续期

OpenResty Edge 会在以下情况自动获取或更新证书,无需人工干预:

  1. 新增一个 Let’s Encrypt 证书时;
  2. 修改已有 Let’s Encrypt 证书的域名列表时;
  3. 证书的剩余有效期不足 30 天时。

操作按钮说明

证书列表中,每条记录右侧的操作按钮从左到右依次为:

按钮功能说明
第 1 个查看状态悬停查看状态摘要,点击查看详细日志。排查失败问题时尤其有用。
第 2 个立即重试手动触发重新申请。通常仅在状态显示失败时使用。
第 3 个修改证书编辑证书信息,修改后自动重新签发。
第 4 个删除证书删除该托管证书。

常见问题排查

错误信息原因与解决方法
“DNS A record … is not point to this Gateway Cluster”域名的 A 记录未指向 OpenResty Edge Node IP。请在域名提供商处修改 A 记录。
“does not belongs to any DNS application”泛域名的父域名未在 OpenResty Edge 上托管为 DNS 应用。请先添加对应的 DNS 应用。
“DNS NS record … is not point to this Gateway Cluster”域名的 NS 记录未指向 OpenResty Edge Node。请在域名注册商处修改 NS 记录。
“DNS query failed” / “unexpected answers”DNS 记录尚未生效或配置有误。请等待数分钟后点击立即重试,或核实 NS 配置。