Skip to content

Commit

Permalink
Updates in ZH-CN (#1765)
Browse files Browse the repository at this point in the history
# Latest from Crowdin

- Updates in Chinese (China)

Co-authored-by: Ludek Janda <[email protected]>
  • Loading branch information
ludekjanda and Ludek Janda authored Nov 11, 2024
1 parent 916f851 commit ededbf6
Showing 1 changed file with 158 additions and 2 deletions.
160 changes: 158 additions & 2 deletions content/zh-cn/docs/rate-limits.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,165 @@
---
title: Rate Limits
title: 速率限制
slug: rate-limits
date: 2018-01-04
lastmod: 2024-10-22
show_lastmod: true
untranslated: 1
---

为保证尽可能多的人可以公平使用我们的服务,Let's Encrypt 采取了速率限制措施。 我们相信这一限制足以满足大多数人的正常需求。 此外,我们的设计使得证书续期几乎不可能触发速率限制,即使是大型机构也可以逐步增加证书数量,无需 Let's Encrypt 干预。

如果您正在开发或测试一款 Let’s Encrypt 客户端,请使用我们的[测试环境](/docs/staging-environment),而不要使用生产环境的接口。 如果您准备将 Let’s Encrypt 作为证书提供商或用于大型网站中,请查阅我们的[集成指南](/docs/integration-guide)

# 速率限制的方式

我们采用[漏桶算法](https://en.wikipedia.org/wiki/Leaky_bucket#As_a_meter)对请求次数实行速率限制, 因此您可以自由选择调用策略, 既可以在不超过数量上限的前提下一次性发起大量请求,也可以分批次完成接口调用以避免触发速率限制。

如果您不慎触发了速率限制,我们无法临时为您解除。 但不必担心,您的请求额度将随时间逐渐恢复,无需任何操作就能继续发起新的请求。 吊销现有证书**并不能**解除速率限制,因为我们签发证书所消耗的资源已经无法回收。 请参阅下文[触发速率限制后如何重试](#触发速率限制后如何重试)了解详情。

# 账户注册限制

以下是我们对于 `new-account` 接口所设置的速率限制。 此类限制极少被触发, 我们建议大型集成商采取[多个客户对应一个账户](/docs/integration-guide)的设计。

<div class="boxed">

## 单个 IP 地址注册限制

每个 IP 地址每 3 个小时最多可注册 10 个账户。 注册额度的恢复速率为每 18 分钟可再创建 1 个账户。

### 豁免

此限制****提供豁免途径。

</div>
<div class="boxed">

## 单个 IPv6 子网注册限制

每个 /48 的 IPv6 子网每 3 个小时最多可注册 500 个账户。
注册额度的恢复速率为每 22 秒可再创建 1 个账户。

### 豁免

此限制****提供豁免途径。

</div>

# 证书签发限制

以下是我们对于 `new-order` 接口所设置的速率限制。 触发此类限制较为常见,尤其是在大型托管服务商及需要为大量域名申请证书的机构中。

<div class="boxed">

## 单个账户证书申请限制

每次请求 Let’s Encrypt 签发一份证书即视为一次申请。
每份证书最多可包含 100 个域名, 但出于性能考虑,一份证书中的域名越少越好。

### 限制

每个账户每 3 个小时最多可申请 300 份证书。 申请额度的恢复速率为每 36 秒可再申请一份证书。

### 豁免

为特定账户[申请豁免](https://isrg.formstack.com/forms/rate_limit_adjustment_request)通过后方可越过此限制。

</div>
<div class="boxed">

## 单个注册域名证书申请限制

一般而言,注册域名即您向域名注册商购买的那一部分域名。 例如,`www.example.com` 对应的注册域名为 `example.com`, 而 `new.blog.example.co.uk` 对应的注册域名则为 `example.co.uk`。 我们依据[公共后缀列表](https://publicsuffix.org/)来确定注册域名。

### 限制

每个注册域名每 7 天最多可申请 50 份证书。 这一限制全局有效,即使是其他账户申请的证书也计算在内。 申请额度的恢复速率为每 202 分钟可再申请一份证书。

### 豁免

为特定的注册域名或账户[申请豁免](https://isrg.formstack.com/forms/rate_limit_adjustment_request)通过后方可越过此限制。

</div>
<div class="boxed">

## 相同域名集合证书申请限制

假设您申请了一份对 `example.com``login.example.com` 都有效的证书,则该证书的「域名集合」为 `[example.com, login.example.com]`。 倘若您申请的证书只对 `example.co.uk` 有效,那么域名集合就是 `[example.co.uk]`

### 限制

同一个域名集合每 7 天最多可申请 5 份证书。
这一限制全局有效,即使是其他账户申请的证书也计算在内。 申请额度的恢复速率为每 34 小时可再申请一份证书。

### 常见原因

反复重装客户端程序来排查问题或者频繁删除 ACME 客户端配置信息都是触发此限制的常见原因。 为此我们有意将此限制设定得较为严苛,以防故障的系统或不完善的软件将其他速率限制的额度迅速耗尽。

测试或调试应用程序时建议使用[测试环境](/docs/staging-environment),其速率限制会[宽松很多](/docs/staging-environment/#rate-limits)

### 解决方法

触发此限制后可以通过添加额外的域名(如 `blog.example.com`)继续申请证书, 但需要注意此类证书不会被视为对已有证书的续期, 因此将受到[单个账户证书申请限制](#单个账户证书申请限制)[单个注册域名证书申请限制](#单个注册域名证书申请限制)的约束。

### 豁免

此限制****提供豁免途径。

</div>
<div class="boxed">

## 单个账户及域名验证失败次数限制

证书申请中每个域名的有效性都需要验证, 所有域名均验证通过后证书才能签发。 验证失败意味着 Let’s Encrypt 成功发出了验证请求,但未得到任何能证明域名归属的信息。

### 限制

每个账户下每个域名每小时最多可验证失败 5 次。 验证额度的恢复速率为每个域名每 12 分钟可再验证一次。 触发这一限制后,该账户就无法再为此域名申请任何证书,直到限制解除。

### 常见原因

排查问题前建议先将客户端配置改为使用[测试环境](/docs/staging-environment), 其速率限制会[宽松很多](/docs/staging-environment/#rate-limits),可以避免定位及解决问题的过程中消耗生产环境的请求额度。

- `HTTP-01``TLS-ALPN-01` 验证失败的原因通常是网络或防火墙配置导致 Let's Encrypt 无法与您的服务器建立连接。

- `DNS-01` 验证失败则一般是由于配置过程中遗漏了步骤或输入的内容有误。 这种验证方式往往需要您先在主 DNS 域中创建 CNAME 记录,以便客户端在验证过程中进一步设置其他 DNS 记录。

### 豁免

此限制****提供豁免途径。

</div>

# 证书续期的例外条件

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.sh](https://crt.sh/)[Censys](https://search.censys.io/#) 中通过[证书透明化](https://www.certificate-transparency.org/)日志搜索您注册的域名已经获得了哪些证书。

# 申请豁免

如果您是需要集成 Let’s Encrypt 的大型托管服务提供商或机构,可以通过[速率限制表单](https://isrg.formstack.com/forms/rate_limit_adjustment_request)申请放宽限制。 处理申请需要数周的时间,因此填写此表单并不能为您提前解除已经触发的速率限制。

0 comments on commit ededbf6

Please sign in to comment.