This setup has been working for many months, actually several years, and all of a sudden this one domain has stopped working. I have two others in the same configuration that renew without issue. I have verified that the /.well-known/acme-challenge directory is writable by the certbot process, and readable via web browser on a remote host. Looking at the certbot log file, it appears to successfully write and remove the challenge file.
My domain is: www.gardnerfabrications.com
I ran this command: certbot renew -v
It produced this output:
Saving debug log to /opt/local/var/log/letsencrypt/letsencrypt.log
Cannot extract OCSP URI from /opt/local/etc/letsencrypt/archive/kim.kairosnet.com/cert18.pem
Cannot extract OCSP URI from /opt/local/etc/letsencrypt/archive/www.brazoslink.net/cert22.pem
Certificate is due for renewal, auto-renewing...
Plugins selected: Authenticator webroot, Installer None
Performing the following challenges:
http-01 challenge for www.gardnerfabrications.com
Waiting for verification...
Challenge failed for domain www.gardnerfabrications.com
http-01 challenge for www.gardnerfabrications.com
Cleaning up challenges
Failed to renew certificate www.gardnerfabrications.com with error: Some challenges have failed.
All renewals failed. The following certificates could not be renewed:
/opt/local/etc/letsencrypt/live/www.gardnerfabrications.com/fullchain.pem (failure)
1 renew failure(s), 0 parse failure(s)
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /opt/local/var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
My web server is (include version): Apache 2.4.55 (so shoot me)
The operating system my web server runs on is (include version): macOS 10.13.6 (again, so shoot me)
My hosting provider, if applicable, is: Texas Communications
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): certbot 4.2.0
Debug log contents (let me know if you need more -- I cut out a good bit because I wasn't sure about the security ramifications of the "protected" and "signature" data blocks):
2025-09-04 14:13:02,895:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/authz/357089530/578788394471 HTTP/1.1" 200 1431
2025-09-04 14:13:02,896:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Thu, 04 Sep 2025 19:13:02 GMT
Content-Type: application/json
Content-Length: 1431
Connection: keep-alive
Boulder-Requester: 357089530
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: znbRssP_1Ys_mvkvK-aNhJQY6iIINO3mI9D8RYbsCPzLHWRm2JA
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"identifier": {
"type": "dns",
"value": "www.gardnerfabrications.com"
},
"status": "invalid",
"expires": "2025-09-11T19:13:01Z",
"challenges": [
{
"type": "http-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/357089530/578788394471/hEWaHQ",
"status": "invalid",
"validated": "2025-09-04T19:13:01Z",
"error": {
"type": "urn:ietf:params:acme:error:connection",
"detail": "69.39.49.199: Fetching https://www.gardnerfabrications.com/.well-known/acme-challenge/Tir3eXVaa5SHir4V2C7dJLL19ue_HzwxYiUpLQV8I9I: Error getting validation data",
"status": 400
},
"token": "Tir3eXVaa5SHir4V2C7dJLL19ue_HzwxYiUpLQV8I9I",
"validationRecord": [
{
"url": "http://www.gardnerfabrications.com/.well-known/acme-challenge/Tir3eXVaa5SHir4V2C7dJLL19ue_HzwxYiUpLQV8I9I",
"hostname": "www.gardnerfabrications.com",
"port": "80",
"addressesResolved": [
"69.39.49.199"
],
"addressUsed": "69.39.49.199"
},
{
"url": "https://www.gardnerfabrications.com/.well-known/acme-challenge/Tir3eXVaa5SHir4V2C7dJLL19ue_HzwxYiUpLQV8I9I",
"hostname": "www.gardnerfabrications.com",
"port": "443",
"addressesResolved": [
"69.39.49.199"
],
"addressUsed": "69.39.49.199"
}
]
}
]
}
2025-09-04 14:13:02,896:DEBUG:acme.client:Storing nonce: znbRssP_1Ys_mvkvK-aNhJQY6iIINO3mI9D8RYbsCPzLHWRm2JA
2025-09-04 14:13:02,896:INFO:certbot._internal.auth_handler:Challenge failed for domain www.gardnerfabrications.com
2025-09-04 14:13:02,897:INFO:certbot._internal.auth_handler:http-01 challenge for www.gardnerfabrications.com
2025-09-04 14:13:02,897:DEBUG:certbot._internal.display.obj:Notifying user:
Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
Domain: www.gardnerfabrications.com
Type: connection
Detail: 69.39.49.199: Fetching https://www.gardnerfabrications.com/.well-known/acme-challenge/Tir3eXVaa5SHir4V2C7dJLL19ue_HzwxYiUpLQV8I9I: Error getting validation data
Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet.
2025-09-04 14:13:02,899:DEBUG:certbot._internal.error_handler:Encountered exception:
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/auth_handler.py", line 108, in handle_authorizations
self._poll_authorizations(authzrs, max_retries, max_time_mins, best_effort)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/auth_handler.py", line 212, in _poll_authorizations
raise errors.AuthorizationError('Some challenges have failed.')
certbot.errors.AuthorizationError: Some challenges have failed.
2025-09-04 14:13:02,899:DEBUG:certbot._internal.error_handler:Calling registered functions
2025-09-04 14:13:02,899:INFO:certbot._internal.auth_handler:Cleaning up challenges
2025-09-04 14:13:02,899:DEBUG:certbot._internal.plugins.webroot:Removing /Data/Websites/gardnerfabrications.com/.well-known/acme-challenge/Tir3eXVaa5SHir4V2C7dJLL19ue_HzwxYiUpLQV8I9I
2025-09-04 14:13:02,899:DEBUG:certbot._internal.plugins.webroot:All challenges cleaned up
2025-09-04 14:13:02,900:ERROR:certbot._internal.renewal:Failed to renew certificate www.gardnerfabrications.com with error: Some challenges have failed.
2025-09-04 14:13:02,904:DEBUG:certbot._internal.renewal:Traceback was:
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/renewal.py", line 667, in handle_renewal_request
main.renew_cert(lineage_config, plugins, renewal_candidate)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/main.py", line 1535, in renew_cert
renewed_lineage = _get_and_save_cert(le_client, config, lineage=lineage)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/main.py", line 131, in _get_and_save_cert
renewal.renew_cert(config, domains, le_client, lineage)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/renewal.py", line 520, in renew_cert
new_cert, new_chain, new_key, _ = le_client.obtain_certificate(domains, new_key)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/client.py", line 430, in obtain_certificate
orderr = self._get_order_and_authorizations(csr.data, self.config.allow_subset_of_names)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/client.py", line 508, in _get_order_and_authorizations
authzr = self.auth_handler.handle_authorizations(orderr, self.config, best_effort)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/auth_handler.py", line 108, in handle_authorizations
self._poll_authorizations(authzrs, max_retries, max_time_mins, best_effort)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/auth_handler.py", line 212, in _poll_authorizations
raise errors.AuthorizationError('Some challenges have failed.')
certbot.errors.AuthorizationError: Some challenges have failed.
2025-09-04 14:13:02,907:DEBUG:certbot._internal.display.obj:Notifying user:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2025-09-04 14:13:02,907:DEBUG:certbot._internal.display.obj:Notifying user: The following certificates are not due for renewal yet:
2025-09-04 14:13:02,907:DEBUG:certbot._internal.display.obj:Notifying user: /opt/local/etc/letsencrypt/live/kim.kairosnet.com/fullchain.pem expires on 2025-12-03 (skipped)
/opt/local/etc/letsencrypt/live/www.brazoslink.net/fullchain.pem expires on 2025-10-09 (skipped)
2025-09-04 14:13:02,907:ERROR:certbot._internal.renewal:All renewals failed. The following certificates could not be renewed:
2025-09-04 14:13:02,908:ERROR:certbot._internal.renewal: /opt/local/etc/letsencrypt/live/www.gardnerfabrications.com/fullchain.pem (failure)
2025-09-04 14:13:02,908:DEBUG:certbot._internal.display.obj:Notifying user: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2025-09-04 14:13:02,908:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
File "/opt/local/bin/certbot", line 8, in <module>
sys.exit(main())
~~~~^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/main.py", line 19, in main
return internal_main.main(cli_args)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/main.py", line 1877, in main
return config.func(config, plugins)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/main.py", line 1623, in renew
renewal.handle_renewal_request(config)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/certbot/_internal/renewal.py", line 697, in handle_renewal_request
raise errors.Error(
f"{len(renew_failures)} renew failure(s), {len(parse_failures)} parse failure(s)")
certbot.errors.Error: 1 renew failure(s), 0 parse failure(s)
2025-09-04 14:13:02,910:ERROR:certbot._internal.log:1 renew failure(s), 0 parse failure(s)


