Wildcard SSL fails several times

certbot tools generated the DNS tokens and I set those TXT records but it fails at the very last step before the certificate is generated.
I tried twice. the previous error failed sooner.

My domain is: private

I ran this command:
certbot certonly --manual
--webroot-path /var/www/vhosts/example.com/apps/example/htdocs
--email admin+apps+example+sites@orbisius.com
-d 'sites.example.com' -d '*.sites.example.com'
--preferred-challenges dns-01 --verbose --rsa-key-size 4096
--agree-tos --manual-public-ip-logging-ok | tee -a /var/log/qs_sites.example.com.log

My web server is (include version): apache

It produced this output:
"POST /acme/chall-v3/226604156797/k16B3g HTTP/1.1" 503 90
Received response:
HTTP 503
Content-Length: 90
Server: nginx
Retry-After: 7
Connection: keep-alive
Cache-Control: private
Date: Wed, 10 May 2023 14:49:21 GMT
Content-Type: application/problem+json

{"type": "urn:ietf:params:acme:error:rateLimited", "detail": "Service busy; retry later."}
Encountered exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/certbot/auth_handler.py", line 82, in handle_authorizations
self._respond(aauthzrs, resp, best_effort)
File "/usr/lib/python2.7/dist-packages/certbot/auth_handler.py", line 152, in _respond
self._send_responses(aauthzrs, resp, chall_update)
File "/usr/lib/python2.7/dist-packages/certbot/auth_handler.py", line 185, in _send_responses
self.acme.answer_challenge(achall.challb, resp)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 156, in answer_challenge
response = self._post(challb.uri, response)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 96, in _post
return self.net.post(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 1204, in post
return self._post_once(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 1218, in _post_once
response = self._check_response(response, content_type=content_type)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 1073, in _check_response
raise messages.Error.from_json(jobj)
Error: urn:ietf:params:acme:error:rateLimited :: There were too many requests of a given type :: Service busy; retry later.

Calling registered functions
Cleaning up challenges
Exiting abnormally:
Traceback (most recent call last):
File "/usr/bin/certbot", line 9, in
load_entry_point('certbot==0.27.0', 'console_scripts', 'certbot')()
File "/usr/lib/python2.7/dist-packages/certbot/main.py", line 1364, in main
return config.func(config, plugins)
File "/usr/lib/python2.7/dist-packages/certbot/main.py", line 1254, in certonly
lineage = _get_and_save_cert(le_client, config, domains, certname, lineage)
File "/usr/lib/python2.7/dist-packages/certbot/main.py", line 115, in _get_and_save_cert
renewal.renew_cert(config, domains, le_client, lineage)
File "/usr/lib/python2.7/dist-packages/certbot/renewal.py", line 305, in renew_cert
new_cert, new_chain, new_key, _ = le_client.obtain_certificate(domains, new_key)
File "/usr/lib/python2.7/dist-packages/certbot/client.py", line 334, in obtain_certificate
orderr = self._get_order_and_authorizations(csr.data, self.config.allow_subset_of_names)
File "/usr/lib/python2.7/dist-packages/certbot/client.py", line 370, in _get_order_and_authorizations
authzr = self.auth_handler.handle_authorizations(orderr, best_effort)
File "/usr/lib/python2.7/dist-packages/certbot/auth_handler.py", line 82, in handle_authorizations
self._respond(aauthzrs, resp, best_effort)
File "/usr/lib/python2.7/dist-packages/certbot/auth_handler.py", line 152, in _respond
self._send_responses(aauthzrs, resp, chall_update)
File "/usr/lib/python2.7/dist-packages/certbot/auth_handler.py", line 185, in _send_responses
self.acme.answer_challenge(achall.challb, resp)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 156, in answer_challenge
response = self._post(challb.uri, response)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 96, in _post
return self.net.post(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 1204, in post
return self._post_once(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 1218, in _post_once
response = self._check_response(response, content_type=content_type)
File "/usr/lib/python2.7/dist-packages/acme/client.py", line 1073, in _check_response
raise messages.Error.from_json(jobj)
Error: urn:ietf:params:acme:error:rateLimited :: There were too many requests of a given type :: Service busy; retry later.
An unexpected error occurred:
There were too many requests of a given type :: Service busy; retry later.

The operating system my web server runs on is (include version):
Ubuntu 16

No control panel

An unexpected error occurred:
There were too many requests of a given type :: Service busy; retry later.

certbot --version
certbot 0.27.0

What happens if you try adding --dry-run to that command?

Also, --webroot-path does not apply when using DNS Challenge like you are

Certbot v0.27 is very old. You should update (latest is v2.6)

3 Likes

This is an internal error on the Let's Encrypt side and genuinely just means that you should try again later.

4 Likes

Unrelated, but your version of certbot is 5 years old and there may be some reliability benefits to upgrading.

5 Likes

thank you.
The server is going to be replaced by another one soon

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.