Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LE rate limit: feature request, wait until time communicated in rate limit message before trying again. #318

Open
svde opened this issue Aug 4, 2023 · 2 comments

Comments

@svde
Copy link

svde commented Aug 4, 2023

Feature request: for domains that have too many certificates already issued, wait for the time that LE communicates back until trying to renew again.

Error[Missing parameter for the specified command line option]: urn:ietf:params:acme:error:rateLimited Error creating new order :: too many certificates already issued for "xxxxx.com". Retry after 2023-08-04T12:00:00Z: see https://letsencrypt.org/docs/rate-limits/ Next run in ~40 minutes

it's 10:39Z now, trying to issue the certificate before 12:00Z won't work,

@Sp1l
Copy link
Contributor

Sp1l commented Aug 4, 2023

Makes sense.
There should even be a "Retry-After" header accompanying that message (see https://www.rfc-editor.org/rfc/rfc8555#section-6.6).
Checked my ACME client implementation in Python, I'm actually reading the retry-after (and the blocking domain) from the message. Not sure if the Retry-After header is missing from letsencrypt's response.

if err_type == "rateLimited":
    detail = re.search(
        r'issued for "([^ ]+)"\. Retry after ([0-9TZ:-]+): ',
        error["detail"]
    )
    domain = detail.group(1)
    retry = detail.group(2)

@icing
Copy link
Owner

icing commented Aug 7, 2023

I am willing to take in a PR that achieves this reliably.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants