My domain is a subdomain for a high-profile customer whose domain gets treated exceptionally around the internet because the brand is so often used in fraud. They have have made a CNAME to our public dev server. We could not issue a cert through Let's Encrypt for them because they have already issued more than 50 themselves and reached some limit. So, we got a cert through ZeroSSL, which worked fine until it was time to be renewed.
I tried a certbot renew command, which seem to work fine at first and get a response back from ZeroSSL:
{"status":"processing","expires":"2024-10-22T18:36:24Z","identifiers":[{"type":"dns","value":"example.com"}],"authorizations":["https://acme.zerossl.com/v2/DV90/authz/OXaW-nBz55wBCRkpoAOlhA"],"finalize":"https://acme.zerossl.com/v2/DV90/order/x1830551LQxye9MqE8rvFQ/finalize"}
But then the what seems like the final stage, it times out:
2024-07-24 18:37:56,729:DEBUG:acme.client:Storing nonce: HNTk09WTrvYNqLr8QAMaQ5oLSejr6q0fakefakefake
2024-07-24 18:37:56,729:ERROR:certbot._internal.renewal:Failed to renew certificate example.com with error:
2024-07-24 18:37:56,730:DEBUG:certbot._internal.renewal:Traceback was:
Traceback (most recent call last):
File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/renewal.py", line 540, in handle_renewal_request
main.renew_cert(lineage_config, plugins, renewal_candidate)
File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/main.py", line 1550, in renew_cert
renewed_lineage = _get_and_save_cert(le_client, config, lineage=lineage)
File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/main.py", line 131, in _get_and_save_cert
renewal.renew_cert(config, domains, le_client, lineage)
File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/renewal.py", line 399, in renew_cert
new_cert, new_chain, new_key, _ = le_client.obtain_certificate(domains, new_key)
File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/client.py", line 451, in obtain_certificate
cert, chain = self.obtain_certificate_from_csr(csr, orderr)
File "/snap/certbot/3834/lib/python3.8/site-packages/certbot/_internal/client.py", line 341, in obtain_certificate_from_csr
orderr = self.acme.finalize_order(
File "/snap/certbot/3834/lib/python3.8/site-packages/acme/client.py", line 275, in finalize_order
return self.poll_finalization(orderr, deadline, fetch_alternative_chains)
File "/snap/certbot/3834/lib/python3.8/site-packages/acme/client.py", line 259, in poll_finalization
raise errors.TimeoutError()
acme.errors.TimeoutError
We were trying nginx
as the authenticator, which works fine for many other domaiins on the server.
I'm wondering if we might be running into geo-blocking for the domain or some other issue, but I didn't get many forum hits for this specific timeout issue.
The version of my client is (e.g. output of certbot --version
or certbot-auto --version
if you're using Certbot):
certbot 2.11.0.
I'm wondering if switching to DNS validation in this case might help, in which case I can loop in the customer's IT team and ask about that.