速率限制

上次更新: | 查看所有文档

Let's Encrypt 提供速率限制,以确保尽可能多的人公平使用。我们相信这些速率限制默认情况下足够高,可以满足大多数人的需求。我们还对其进行了设计,因此证书续期几乎不会遇到速率限制,而且大型组织可以逐步增加他们可以发行的证书数量,而无需 Let's Encrypt 的干预。

如果您正在积极开发或测试 Let's Encrypt 客户端,请使用我们的 测试环境,而不是生产 API。如果您正在将 Let's Encrypt 集成到提供商或大型网站中,请查看我们的 集成指南

速率限制的工作原理

限制是使用 漏桶 算法,根据每次请求计算的。这种方法为您的分配请求的使用提供了灵活性。您可以以突发形式发出请求——直到达到完整限制——或者间隔您的请求以避免被限制的风险。

如果您遇到速率限制,我们没有方法暂时重置它。别担心,您的限制容量会随着时间的推移逐渐补充,使您无需采取任何额外措施即可发出更多请求。撤销证书 **不会** 重置速率限制,因为用于发行这些证书的资源已经消耗掉了。有关更多信息,请参见 遇到速率限制后重试

帐户注册限制

当订阅者使用 new-account API 端点请求新帐户时,以下限制适用。超过这些限制的情况非常罕见。我们建议大型集成者首选使用 一个帐户为多个客户提供服务 的设计。

每个 IP 地址的新注册

每 3 小时可以从单个 IP 地址创建最多 10 个帐户。创建新帐户的能力以每 18 分钟 1 个帐户的速度补充。

覆盖

我们 **不** 为此限制提供覆盖。

每个 IPv6 范围的新注册

每 3 小时可以从单个 /48 IPv6 子网创建最多 500 个帐户。创建新帐户的能力以每 22 秒 1 个帐户的速度补充。

覆盖

我们 **不** 为此限制提供覆盖。

证书颁发限制

当订阅者使用 new-order API 端点请求新证书时,以下限制适用。超过这些限制的情况更为常见,尤其是对于大型托管提供商或为许多主机名颁发证书的组织而言。

每个帐户的新订单

每次您从 Let's Encrypt 请求证书时,都会创建一个新订单。单个证书最多可以包含 100 个主机名。出于性能原因,最好尽可能使用更少的主机名。

限制

单个帐户每 3 小时最多可以创建 300 个新订单。创建新订单的能力以每 36 秒 1 个订单的速度补充。

覆盖

要超过此限制,您必须 请求特定帐户的覆盖

每个已注册域的新证书

一般来说,已注册域是指您从域名注册商处购买的域名的一部分。例如,在 www.example.com 中,已注册域是 example.com。在 new.blog.example.co.uk 中,已注册域是 example.co.uk。我们使用 公共后缀列表 来识别已注册域。

限制

每 7 天可以为每个已注册域颁发最多 50 个证书。这是一个全局限制,所有新订单请求(无论哪个帐户提交)都算在此限制内。为同一个已注册域颁发新证书的能力以每 202 分钟 1 个证书的速度补充。

覆盖

要超过此限制,您必须 请求特定已注册域或帐户的覆盖

每个主机名确切集的新证书

如果您为 example.comlogin.example.com 请求证书,则“主机名确切集”是 [example.com, login.example.com]。如果您只为一个主机名(例如 example.co.uk)请求证书,则主机名确切集将是 [example.co.uk]

限制

每 7 天可以为同一个主机名确切集颁发最多 5 个证书。这是一个全局限制,所有新订单请求(无论哪个帐户提交)都算在此限制内。为同一个主机名确切集请求新证书的能力以每 34 小时 1 个证书的速度补充。

常见原因

多次重新安装您的客户端以解决未知错误,或者每次部署应用程序时都删除您的 ACME 客户端的配置数据,是遇到此限制的常见方法。我们有意将此限制设置得相对较低,以防止有缺陷的系统或正在开发的软件迅速消耗其他速率限制的容量。

在测试或排查应用程序问题时,我们建议您将您的客户端配置为使用我们的 测试环境,该环境的限制 明显更高

解决方法

如果您遇到此限制,可以通过添加 blog.example.com 来更改主机名集,以请求其他证书。请注意,这些新订单不会被视为续期。因此,它们将受到 每个帐户的新订单每个已注册域的新证书 速率限制的约束。

覆盖

我们 **不** 为此限制提供覆盖。

每个主机名每个帐户的授权失败

为订单中包含的每个主机名生成一个授权。在颁发证书之前,必须成功验证订单中的所有授权。授权失败意味着,尽管验证请求已成功发送,但 Let's Encrypt 对主机名控制权的所有验证尝试均已失败。

限制

一个帐户每小时可以遇到每个主机名最多 5 次授权失败。遇到授权失败的能力以每 12 分钟每个主机名 1 次的速度补充。一旦超过此限制,该限制就会通过阻止同一个帐户对同一个主机名发出任何新订单来实施,直到限制重置。

常见原因

在您开始排查问题之前,我们建议您将您的客户端设置为使用我们的 测试环境。此环境的限制 明显更高,这可以帮助您识别和解决问题,而不会消耗您的生产限制。

  • 使用 HTTP-01TLS-ALPN-01 方法时发生的验证失败通常源于网络或防火墙配置,这些配置阻止 Let's Encrypt 验证服务器到达您的服务器。

  • 使用 DNS-01 方法时发生的验证失败通常是由于初始设置过程中步骤遗漏或输入错误造成的。通常情况下,这种验证方法需要您在您的主 DNS 区域中创建 CNAME 记录,使您的客户端能够在验证过程中设置必要的 DNS 记录。

覆盖

我们 **不** 为此限制提供覆盖。

续期限制豁免

Let's Encrypt 通过两种方式识别新证书订单为“续期”:首选方法是通过 ACME Renewal Info (ARI),该方法不受所有速率限制的约束,而另一种方法依赖于旧的续期检测逻辑,该逻辑将具有相同主机名集的订单视为续期,但可能仍然会受到某些速率限制的约束。

ARI 续期

由 ARI 协调的续期具有不受所有速率限制约束的独特优势。支持 ARI 的客户端会定期与 Let's Encrypt 服务器进行检查,以确定您的现有证书是否应该续期。当达到最佳续期窗口时,客户端会显式请求一个新订单,指示它将替换的证书。如果新订单包含与它打算替换的证书匹配的至少一个主机名,并且该证书以前没有使用 ARI 替换过,则该订单将不受任何速率限制的约束。

非 ARI 续期

如果您的客户端或托管提供商尚未添加对 ARI 的支持,则如果您的订单包含相同的主机名集(忽略大小写和主机名的顺序),则它仍然会被视为早期证书的续期。例如,如果您为主机名 [www.example.com, example.com] 请求了一个证书,则您可以在遇到 每个主机名确切集的新证书 速率限制之前,为 [www.example.com, example.com] 请求四个其他证书。所有这些新订单都将被视为续期,并且将不受 每个帐户的新订单每个已注册域的新证书 速率限制的约束。但是,与 ARI 续期不同,这些订单仍然会受到 每个主机名每个帐户的授权失败每个主机名确切集的新证书 的约束。

遇到速率限制后重试

我们所有的速率限制错误消息都遵循相同的格式。例如

too many new registrations (10) from this IP address in the last 3h0m0s,
retry after 1970-01-01 00:18:15 UTC.

在提供的日期和时间之后,您应该能够成功发出相同的请求。如果您的请求超过了我们多个限制的容量,我们将始终返回最晚重置的限制的错误消息。

Retry-After 标头

我们在所有速率限制错误响应中都包含一个 Retry-After 标头,指示您的客户端在重试之前应该等待的持续时间。

您可以通过搜索 crt.shCensys 来获取为您的已注册域颁发的证书列表,它们使用公共 证书透明度 日志。

请求覆盖

如果您是大型托管提供商或组织,正在进行 Let's Encrypt 集成,我们有一个 速率限制表单,可用于请求更高的速率限制。处理请求需要几周时间,因此如果您只是需要比它自己重置更快地重置速率限制,则此表单不适合您。