Why Let’s Encrypt Says Too Many Failed Authorizations
Understand why Let’s Encrypt returns too many failed authorizations, how per-identifier rate limits work, and why staging is the right place to debug validation failures.
If Let’s Encrypt says too many failed authorizations, the hard part is not the error message. The hard part is what it tells you about the last few minutes.
Something in the validation path is broken, and production has already seen that break enough times to start pushing back.
What the error means in plain English
Let’s Encrypt gives each account limited room to fail validation for the same identifier. The current allowance is 5 authorization failures per identifier per account per hour.
Once you burn through that, new production orders for that name get blocked until the limit refills.
So this is not just "validation failed." It is "validation failed several times, and you kept asking production to try again."
What counts as a failed authorization
A failed authorization means Let’s Encrypt reached the validation step and could not prove you control the name.
That can happen because:
- the HTTP challenge path is wrong
- port 80 or 443 is blocked
- a reverse proxy or CDN is serving the wrong thing
- IPv6 is published but not really working
- the DNS-01 record is missing, late, or delegated incorrectly
The pattern matters more than the client name. Most of the time this is not a Certbot problem. It is a routing, DNS, or reachability problem.
Why this one spirals fast
This is the error people create by trying to "just run it again."
One bad request is a technical problem. Five bad requests in a row become a rate-limit problem too. That is why Let’s Encrypt recommends staging for troubleshooting. Production is a bad place to do guesswork.
The limit people confuse it with
This is about failed validation attempts for one identifier.
It is not the same as the exact-set-of-identifiers limit, where you request too many certificates for the same hostname bundle, and it is not the same as the broader registered-domain limit.
Those are different mistakes. This one is much more direct: the challenge path is still wrong.
Where to look first
HTTP-01 and TLS-ALPN-01
Start with reachability:
- is the public hostname landing on the right server or edge
- is port 80 or 443 open where the challenge expects it
- is the challenge path being rewritten, redirected, or cached
- is there a stale AAAA record sending validation to a broken IPv6 path
DNS-01
Start with authoritative DNS:
- is the TXT record at the exact
_acme-challengename - is the DNS provider you edited actually authoritative
- is CNAME or NS delegation complete
- did validation start before propagation finished
What to do next
1. Stop retrying production
This part is not optional. If the path is still broken, more retries only make recovery slower.
2. Move the test to staging
Staging gives you room to verify the real problem without adding more production failures.
3. Debug the specific validation method in use
Do not mix HTTP-01, DNS-01, and TLS-ALPN-01 into one mental bucket. They fail for different reasons.
4. Return to production only when the fix is boring
You want the path to feel routine before you ask production to trust it again.
The consecutive-failures wrinkle
Let’s Encrypt also documents a consecutive-failures limit for identifiers. That exists to stop broken automation from getting stuck in a permanent loop.
So if a system keeps failing long enough, the situation can get worse than a short refill delay. Another reason to stop the loop early.
Common misunderstandings
"Too many failed authorizations means Let’s Encrypt is down"
Usually no. It usually means your validation path is still wrong.
"I can revoke a cert and reset the counter"
No. Revocation does not reset the rate limit.
"If I wait a minute, maybe it clears"
Only time clears the limit. Time does not fix the broken path that caused it.
FAQ
What does "too many failed authorizations" usually mean?
It means the same identifier failed validation too many times for the same account in a short window.
What should I do first?
Stop retrying production and move the troubleshooting flow to staging.
Is this the same as the exact-set limit?
No. That limit is about issuing too many certs for the same hostname bundle. This one is about repeated validation failure.
Can Let’s Encrypt manually reset it?
No. You have to wait for refill and fix the underlying validation problem.
Continue reading
Stay in the same investigation track with these closely related guides.
Tools mentioned in this article
Run the same diagnostics to follow along with the guide.