diff --git a/content/en/docs/rate-limits.md b/content/en/docs/rate-limits.md index 1632b34fc..ac085124c 100644 --- a/content/en/docs/rate-limits.md +++ b/content/en/docs/rate-limits.md @@ -2,7 +2,7 @@ title: Rate Limits slug: rate-limits date: 2018-01-04 -lastmod: 2024-12-10 +lastmod: 2024-12-12 show_lastmod: true --- @@ -229,7 +229,6 @@ up to 50,000 additional paused hostnames associated with their account. | 30 | 124 days (4.08 months) | | 40 | 92 days (3.03 months) | | 120 | 30 days | -

### Common Causes @@ -253,6 +252,27 @@ We do **not** offer overrides for this limit. +# Overall Requests Limit + +In addition to our [account registration](#account-registration-limits) and +[certificate issuance](#certificate-issuance-limits) limits, there are +per-endpoint overall request limits that apply per-IP address. These are +enforced by our load balancers and are designed to protect the ACME API from +being overwhelmed by clients that make too many requests at once. + +| Endpoint | Requests per IP (per second) | Burst Capacity | +|--------------------|------------------------------|----------------| +| /acme/new-nonce | 20 | 10 | +| /acme/new-account | 5 | 15 | +| /acme/new-order | 300 | 200 | +| /acme/revoke-cert | 10 | 100 | +| /acme/renewal-info | 1000 | 100 | +| /acme/* | 250 | 125 | +| /directory | 40 | N/A | + +Subscribers who exceed these limits will receive a `503 Service Unavailable` +HTTP response code. The response will include a `Retry-After` header. + # Limit Exemptions for Renewals Let's Encrypt recognizes a new certificate order as a "renewal" in two ways: the diff --git a/src/css/_base.scss b/src/css/_base.scss index 6df27c2a3..fae68ab2a 100644 --- a/src/css/_base.scss +++ b/src/css/_base.scss @@ -226,6 +226,29 @@ code.language-der { background-color: #dee; } +table { + width: 100%; + border-collapse: collapse; + margin: $spacing-unit 0; + font-size: 16px; + color: $text-color; + border-radius: 8px; + + th, td { + padding: 12px 15px; + text-align: left; + border-bottom: 1px solid $grey-color-light; + } + + th { + background-color: $grey-color-dark; + color: #fff; + font-weight: 600; + text-transform: none; + letter-spacing: 0.025em; + } +} + /** * Wrapper */