Renewal failure: Timeout / TLS/SSL connection has been closed

Hi there,

--
Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. https://crt.sh/?q=example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is: xai.sh

I ran this command:
acme-tiny --account-key account.key --csr xai.sh.csr --acme-dir /var/www/challenges

It produced this output:
Parsing account key...
Parsing CSR...
Found domains: www.xai.sh, xai.sh
Getting directory...
Directory found!
Registering account...
Already registered! Account ID: https://acme-v02.api.letsencrypt.org/acme/acct/1117856
Creating new order...
Order created!
Traceback (most recent call last):
File "/usr/bin/acme-tiny", line 33, in
sys.exit(load_entry_point('acme-tiny==5.0.1', 'console_scripts', 'acme-tiny')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/acme_tiny.py", line 195, in main
signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca, disable_check=args.disable_check, directory_url=args.directory_url, contact=args.contact, check_port=args.check_port)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/acme_tiny.py", line 125, in get_crt
authorization, _, _ = _send_signed_request(auth_url, None, "Error getting challenges")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/acme_tiny.py", line 60, in _send_signed_request
return _do_request(url, data=data.encode('utf8'), err_msg=err_msg, depth=depth)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/acme_tiny.py", line 46, in _do_request
raise ValueError("{0}:\nUrl: {1}\nData: {2}\nResponse Code: {3}\nResponse: {4}".format(err_msg, url, data, code, resp_data))
ValueError: Error getting challenges:
Url: https://acme-v02.api.letsencrypt.org/acme/authz-v3/374463490457
Data: b'{"protected": "[...]", "payload": "", "signature": "[...]"}'
Response Code: None
Response: <urlopen error TLS/SSL connection has been closed (EOF) (_ssl.c:992)>

My web server is (include version): nginx/1.22.

The operating system my web server runs on is (include version): Debian 12.6

My hosting provider, if applicable, is: hetzner.de

I can login to a root shell on my machine (yes or no, or I don't know): yes

I'm using a control panel to manage my site (no, or provide the name and version of the control panel): no

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot): ACME tiny 5.0.1 (from Debian package or upstream git repository, makes no difference)

The renewal has been working for years, but this time, acme tiny stops at some (random?) point, waits for some time and then quits with "urlopen error TLS/SSL connection has been closed (EOF)". This may happen at different points in the process, sometimes as in the output shown above, sometimes when doing the verification,...

It works with --directory-url https://acme-staging-v02.api.letsencrypt.org/directory.
Let's debug also reports that everything is ok: Let's Debug

We have the exact same issue also with other domains on this machine.

We have been debugging this for some hours now, but without success. Any help/hint would be highly appreciated.

Thanks a lot!

1 Like

Several users have complained of this in the last hour. I am investigating now. Follow https://letsencrypt.status.io/pages/incident/55957a99e800baa4470002da/668c963eafdb5f174f9f2443 for status updates.

Can you provide any more information on the periods of time when you started encountering these errors, and what IP address you used to connect?

5 Likes

Thanks a lot for the quick response!

I started renewing certificates around 11:30pm CEST and immediately ran into this problem. The IP address I mostly tried from is 138.201.78.38.

3 Likes

It is working again.

A huge thank you for this incredibly fast reaction and investigation and also to everyone who keeps this amazing service running. You guys rock!

3 Likes

Thanks for the confirmation. It seems like this was an internet connectivity problem somewhere between some users and Let's Encrypt, resulting in connection errors, and it has resolved now.

2 Likes