Do I have forwarding set wrong?

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: mymachine.twilightparadox.com

I ran this command:certbot renew --dry-run -v

It produced this output:certbot.errors.Error: 1 renew failure(s), 0 parse failure(s)
2025-12-21 15:51:59,970:ERROR:certbot._internal.log:1 renew failure(s), 0 parse
failure(s)

My web server is (include version): standalone

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

My hosting provider, if applicable, is:

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):5.2.2

![image|690x167](upload://7sxJH9iEwZ30gWBzqgCv2MGx3uX.png)

I can ping it fine

Would you explain more what that is? Do you mean you are using the --standalone option of Certbot? Or something else?

Yes, but, those are icmp udp requests. HTTP (tcp) requests are failing to reach even your "home" page from many locations world-wide. See: Check website performance and response : Check host - online website monitoring

4 Likes

ITYM ICMP

3 Likes

Yes, thanks. Corrected my post

3 Likes

this setup worked at one time. Don't know when it stopped. I can send logs if requested. Using Debian 10. Would like to get let's erncrypt working again.

The first thing to show us is the output from: certbot renew --dry-run

The actual output of the command - not log info. You showed one line which is not very helpful. You should see other messages describing the failure.

The answer to my previous question would be helpful too

The last cert for that domain name was issued May9 2025. So, something went wrong since then. That cert expired Aug7 but your renewal process would have been failing for 30 days before that.

4 Likes
2025-12-24 09:44:36,112:DEBUG:urllib3.connectionpool:http://localhost:None "GET /v2/connections?snap=certbot&interface=content HTTP/1.1" 200 97
2025-12-24 09:44:37,666:DEBUG:certbot._internal.main:certbot version: 5.2.2
2025-12-24 09:44:37,670:DEBUG:certbot._internal.main:Location of certbot entry point: /snap/certbot/5236/bin/certbot
2025-12-24 09:44:37,670:DEBUG:certbot._internal.main:Arguments: ['--dry-run', '-v', '--preconfigured-renewal']
2025-12-24 09:44:37,672:DEBUG:certbot._internal.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#apache,PluginEntryPoint#manual,PluginEntryPoint#nginx,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2025-12-24 09:44:37,790:DEBUG:certbot._internal.log:Root logging level set at 20
2025-12-24 09:44:37,805:DEBUG:certbot._internal.display.obj:Notifying user: Processing /etc/letsencrypt/renewal/mymachine.twilightparadox.com.conf
2025-12-24 09:44:37,819:DEBUG:certbot.configuration:Var server=https://acme-staging-v02.api.letsencrypt.org/directory (set by user).
2025-12-24 09:44:37,820:DEBUG:certbot.configuration:Var account=None (set by user).
2025-12-24 09:44:37,823:DEBUG:certbot._internal.plugins.selection:Requested authenticator None and installer None
2025-12-24 09:44:37,940:INFO:certbot._internal.renewal:Certificate not due for renewal, but simulating renewal for dry run
2025-12-24 09:44:37,944:DEBUG:certbot._internal.plugins.selection:Requested authenticator standalone and installer None
2025-12-24 09:44:37,947:DEBUG:certbot._internal.plugins.selection:Single candidate plugin: * standalone
Description: Runs an HTTP server locally which serves the necessary validation files under the /.well-known/acme-challenge/ request path. Suitable if there is no HTTP server already running. HTTP challenge only (wildcards not supported).
Interfaces: Authenticator, Plugin
Entry point: EntryPoint(name='standalone', value='certbot._internal.plugins.standalone:Authenticator', group='certbot.plugins')
Initialized: <certbot._internal.plugins.standalone.Authenticator object at 0xb3119468>
Prep: True
2025-12-24 09:44:37,951:DEBUG:certbot._internal.plugins.selection:Selected authenticator <certbot._internal.plugins.standalone.Authenticator object at 0xb3119468> and installer None
2025-12-24 09:44:37,953:INFO:certbot._internal.plugins.selection:Plugins selected: Authenticator standalone, Installer None
2025-12-24 09:44:39,058:DEBUG:certbot._internal.main:Picked account: <Account(RegistrationResource(body=Registration(key=None, contact=(), agreement=None, status=None, terms_of_service_agreed=None, only_return_existing=None, external_account_binding=None), uri='https://acme-staging-v02.api.letsencrypt.org/acme/acct/252278923', new_authzr_uri=None, terms_of_service=None), 14bfaadbf4135d8bd17a12addb53c79a, Meta(creation_dt=datetime.datetime(2025, 12, 21, 21, 11, 53, tzinfo=datetime.timezone.utc), creation_host='beaglebone', register_to_eff=None))>
2025-12-24 09:44:39,081:DEBUG:acme.client:Sending GET request to https://acme-staging-v02.api.letsencrypt.org/directory.
2025-12-24 09:44:39,095:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org:443
2025-12-24 09:44:39,849:DEBUG:urllib3.connectionpool:https://acme-staging-v02.api.letsencrypt.org:443 "GET /directory HTTP/1.1" 200 1107
2025-12-24 09:44:39,854:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Wed, 24 Dec 2025 15:44:39 GMT
Content-Type: application/json
Content-Length: 1107
Connection: keep-alive
Cache-Control: public, max-age=0, no-cache
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

{
  "WwdM-xr7wIs": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417",
  "keyChange": "https://acme-staging-v02.api.letsencrypt.org/acme/key-change",
  "meta": {
    "caaIdentities": [
      "letsencrypt.org"
    ],
    "profiles": {
      "classic": "https://letsencrypt.org/docs/profiles#classic",
      "shortlived": "https://letsencrypt.org/docs/profiles#shortlived",
      "tlsclient": "https://letsencrypt.org/docs/profiles#tlsclient",
      "tlsserver": "https://letsencrypt.org/docs/profiles#tlsserver"
    },
    "termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.6-August-18-2025.pdf",
    "website": "https://letsencrypt.org/docs/staging-environment/"
  },
  "newAccount": "https://acme-staging-v02.api.letsencrypt.org/acme/new-acct",
  "newNonce": "https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce",
  "newOrder": "https://acme-staging-v02.api.letsencrypt.org/acme/new-order",
  "renewalInfo": "https://acme-staging-v02.api.letsencrypt.org/acme/renewal-info",
  "revokeCert": "https://acme-staging-v02.api.letsencrypt.org/acme/revoke-cert"
}
2025-12-24 09:44:39,862:DEBUG:certbot._internal.display.obj:Notifying user: Simulating renewal of an existing certificate for mymachine.twilightparadox.com
2025-12-24 09:44:42,311:DEBUG:acme.client:Requesting fresh nonce
2025-12-24 09:44:42,313:DEBUG:acme.client:Sending HEAD request to https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce.
2025-12-24 09:44:42,380:DEBUG:urllib3.connectionpool:https://acme-staging-v02.api.letsencrypt.org:443 "HEAD /acme/new-nonce HTTP/1.1" 200 0
2025-12-24 09:44:42,383:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Wed, 24 Dec 2025 15:44:42 GMT
Connection: keep-alive
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-staging-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: pyBD3s7BTU8msoBtN0zoqFFF5YTk7v8Tdic4GG1WnXD5Y0RGPHQ
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800


2025-12-24 09:44:42,386:DEBUG:acme.client:Storing nonce: pyBD3s7BTU8msoBtN0zoqFFF5YTk7v8Tdic4GG1WnXD5Y0RGPHQ
2025-12-24 09:44:42,388:DEBUG:acme.client:JWS payload:
b'{\n  "identifiers": [\n    {\n      "type": "dns",\n      "value": "mymachine.twilightparadox.com"\n    }\n  ]\n}'
2025-12-24 09:44:42,421:DEBUG:acme.client:Sending POST request to https://acme-staging-v02.api.letsencrypt.org/acme/new-order:
{
  "protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS1zdGFnaW5nLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2FjbWUvYWNjdC8yNTIyNzg5MjMiLCAibm9uY2UiOiAicHlCRDNzN0JUVThtc29CdE4wem9xRkZGNVlUazd2OFRkaWM0R0cxV25YRDVZMFJHUEhRIiwgInVybCI6ICJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL25ldy1vcmRlciJ9",
  "signature": "JlSxAlFgbzub4n-bDiJ_MWidPTHrqSB3ZEITIA-ENQFlEP17J-O2ptAnHyC3PDBe3SBpWnRMyxfA9kbmcR3lnwDmLbk8IEdyZJzbvmTFn_aasr5tc_Mv4xyrf6CvkYobG0RA-RYLHBb9NvWNLMr8J1Mhja5xGzIcpySdh2WWJXQ8zJvjBJ2rXjJlZZM0nFRXh2EgEMSrJvcMgtf0EThALGV8cN5EoO0XBlnGsalEPZQQEsED3NHlazNQzsdZBz_5b1zQaoDIwIbPVVK6nx02e1_oIPh8rdJvMg0bpG1NSkYMibnevlFBoPDwkKpZhHR9Gt49R422LOTL3n4AWcyOlA",
  "payload": "ewogICJpZGVudGlmaWVycyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiZG5zIiwKICAgICAgInZhbHVlIjogIm15bWFjaGluZS50d2lsaWdodHBhcmFkb3guY29tIgogICAgfQogIF0KfQ"
}
2025-12-24 09:44:42,498:DEBUG:urllib3.connectionpool:https://acme-staging-v02.api.letsencrypt.org:443 "POST /acme/new-order HTTP/1.1" 201 375
2025-12-24 09:44:42,502:DEBUG:acme.client:Received response:
HTTP 201
Server: nginx
Date: Wed, 24 Dec 2025 15:44:42 GMT
Content-Type: application/json
Content-Length: 375
Connection: keep-alive
Boulder-Requester: 252278923
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-staging-v02.api.letsencrypt.org/directory>;rel="index"
Location: https://acme-staging-v02.api.letsencrypt.org/acme/order/252278923/29854116963
Replay-Nonce: 0t1BB3M7D4k5XlDgSiutF9NHaxPCZWNPBn6IPG1iN15-KpGPq0w
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

{
  "status": "pending",
  "expires": "2025-12-31T15:44:42Z",
  "identifiers": [
    {
      "type": "dns",
      "value": "mymachine.twilightparadox.com"
    }
  ],
  "authorizations": [
    "https://acme-staging-v02.api.letsencrypt.org/acme/authz/252278923/20864373843"
  ],
  "finalize": "https://acme-staging-v02.api.letsencrypt.org/acme/finalize/252278923/29854116963"
}
2025-12-24 09:44:42,504:DEBUG:acme.client:Storing nonce: 0t1BB3M7D4k5XlDgSiutF9NHaxPCZWNPBn6IPG1iN15-KpGPq0w
2025-12-24 09:44:42,506:DEBUG:acme.client:JWS payload:
b''
2025-12-24 09:44:42,529:DEBUG:acme.client:Sending POST request to https://acme-staging-v02.api.letsencrypt.org/acme/authz/252278923/20864373843:
{
  "protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS1zdGFnaW5nLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2FjbWUvYWNjdC8yNTIyNzg5MjMiLCAibm9uY2UiOiAiMHQxQkIzTTdENGs1WGxEZ1NpdXRGOU5IYXhQQ1pXTlBCbjZJUEcxaU4xNS1LcEdQcTB3IiwgInVybCI6ICJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2F1dGh6LzI1MjI3ODkyMy8yMDg2NDM3Mzg0MyJ9",
  "signature": "lenz-aQi3PqhjxE0Co3g2g0PoVPsoOUnRmewjX1TMs8jvg3u_OcF8iawROIXbZErgunkkBQgyVhHcJLV5brKPfdzKMz_K8oQ95-0dX7r7d0EbMTgBFCqhD3ejnYImZLS2aeeeypW4b_Z9MFadErVRrvS0xFM681ejN4uOZl04AdV_3iidU0p18D9nlAoPvZqKb-fQT-v6fqY1c1HG9D0HpN6SvAh73rcWkJJ52f3UW2wcqIWb7-C_40GDSayU9sO0KSaYeXk-vUJ0FSm3XSX89pbzo1cNvtwjBIYF6kpw0IPP5yk33ZjIcW7viOswZPyT5DJ2o8wkH0tErZ7TB6Lsw",
  "payload": ""
}
2025-12-24 09:44:42,599:DEBUG:urllib3.connectionpool:https://acme-staging-v02.api.letsencrypt.org:443 "POST /acme/authz/252278923/20864373843 HTTP/1.1" 200 855
2025-12-24 09:44:42,603:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Wed, 24 Dec 2025 15:44:42 GMT
Content-Type: application/json
Content-Length: 855
Connection: keep-alive
Boulder-Requester: 252278923
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-staging-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: pyBD3s7BtXiBMmqzSueyq77briTkygdLg5owXcs_jPlf4X0P7qc
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

{
  "identifier": {
    "type": "dns",
    "value": "mymachine.twilightparadox.com"
  },
  "status": "pending",
  "expires": "2025-12-31T15:44:42Z",
  "challenges": [
    {
      "type": "http-01",
      "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall/252278923/20864373843/xR_evA",
      "status": "pending",
      "token": "4FI8VJ_GmCcpnsTW78UPY4jf2H3qgtDDUVkyN3tcBQ8"
    },
    {
      "type": "tls-alpn-01",
      "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall/252278923/20864373843/h_ccvw",
      "status": "pending",
      "token": "4FI8VJ_GmCcpnsTW78UPY4jf2H3qgtDDUVkyN3tcBQ8"
    },
    {
      "type": "dns-01",
      "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall/252278923/20864373843/dXCnvw",
      "status": "pending",
      "token": "4FI8VJ_GmCcpnsTW78UPY4jf2H3qgtDDUVkyN3tcBQ8"
    }
  ]
}
2025-12-24 09:44:42,605:DEBUG:acme.client:Storing nonce: pyBD3s7BtXiBMmqzSueyq77briTkygdLg5owXcs_jPlf4X0P7qc
2025-12-24 09:44:42,608:DEBUG:acme.challenges:tls-alpn-01 was not recognized, full message: {'type': 'tls-alpn-01', 'url': 'https://acme-staging-v02.api.letsencrypt.org/acme/chall/252278923/20864373843/h_ccvw', 'status': 'pending', 'token': '4FI8VJ_GmCcpnsTW78UPY4jf2H3qgtDDUVkyN3tcBQ8'}
2025-12-24 09:44:42,611:INFO:certbot._internal.auth_handler:Performing the following challenges:
2025-12-24 09:44:42,615:INFO:certbot._internal.auth_handler:http-01 challenge for mymachine.twilightparadox.com
2025-12-24 09:44:42,620:DEBUG:acme.standalone:Failed to bind to :10005 using IPv6
2025-12-24 09:44:42,623:DEBUG:acme.standalone:Failed to bind to :10005 using IPv4
2025-12-24 09:44:42,649:DEBUG:certbot._internal.error_handler:Encountered exception:
Traceback (most recent call last):
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 58, in run
    servers = acme_standalone.HTTP01DualNetworkedServers(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 136, in __init__
    super().__init__(HTTP01Server, *args, **kwargs)
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 81, in __init__
    raise last_socket_err
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 56, in __init__
    server = ServerClass(*new_args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 126, in __init__
    super().__init__(
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 117, in __init__
    super().__init__(*args, **kwargs)
  File "/snap/certbot/current/usr/lib/python3.12/socketserver.py", line 457, in __init__
    self.server_bind()
  File "/snap/certbot/current/usr/lib/python3.12/http/server.py", line 136, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "/snap/certbot/current/usr/lib/python3.12/socketserver.py", line 473, in server_bind
    self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 148, in _try_perform_single
    return self._perform_single(achall)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 154, in _perform_single
    servers, response = self._perform_http_01(achall)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 163, in _perform_http_01
    servers = self.servers.run(port, challenges.HTTP01, listenaddr=addr)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 61, in run
    raise errors.StandaloneBindError(error, port)
certbot.errors.StandaloneBindError: Problem binding to port 10005: [Errno 98] Address already in use

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/auth_handler.py", line 84, in handle_authorizations
    resps = self.auth.perform(achalls)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 142, in perform
    return [self._try_perform_single(achall) for achall in achalls]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 150, in _try_perform_single
    _handle_perform_error(error)
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 204, in _handle_perform_error
    raise errors.PluginError(msg)
certbot.errors.PluginError: Could not bind TCP port 10005 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.

2025-12-24 09:44:42,651:DEBUG:certbot._internal.error_handler:Calling registered functions
2025-12-24 09:44:42,652:INFO:certbot._internal.auth_handler:Cleaning up challenges
2025-12-24 09:44:42,656:ERROR:certbot._internal.renewal:Failed to renew certificate mymachine.twilightparadox.com with error: Could not bind TCP port 10005 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.
2025-12-24 09:44:42,689:DEBUG:certbot._internal.renewal:Traceback was:
Traceback (most recent call last):
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 58, in run
    servers = acme_standalone.HTTP01DualNetworkedServers(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 136, in __init__
    super().__init__(HTTP01Server, *args, **kwargs)
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 81, in __init__
    raise last_socket_err
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 56, in __init__
    server = ServerClass(*new_args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 126, in __init__
    super().__init__(
  File "/snap/certbot/5236/lib/python3.12/site-packages/acme/standalone.py", line 117, in __init__
    super().__init__(*args, **kwargs)
  File "/snap/certbot/current/usr/lib/python3.12/socketserver.py", line 457, in __init__
    self.server_bind()
  File "/snap/certbot/current/usr/lib/python3.12/http/server.py", line 136, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "/snap/certbot/current/usr/lib/python3.12/socketserver.py", line 473, in server_bind
    self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 148, in _try_perform_single
    return self._perform_single(achall)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 154, in _perform_single
    servers, response = self._perform_http_01(achall)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 163, in _perform_http_01
    servers = self.servers.run(port, challenges.HTTP01, listenaddr=addr)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 61, in run
    raise errors.StandaloneBindError(error, port)
certbot.errors.StandaloneBindError: Problem binding to port 10005: [Errno 98] Address already in use

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/renewal.py", line 711, in handle_renewal_request
    main.renew_cert(lineage_config, plugins, renewal_candidate)
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/main.py", line 1538, in renew_cert
    renewed_lineage = _get_and_save_cert(le_client, config, lineage=lineage)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/main.py", line 131, in _get_and_save_cert
    renewal.renew_cert(config, sans, le_client, lineage)
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/renewal.py", line 564, in renew_cert
    new_cert, new_chain, new_key, _ = le_client.obtain_certificate(sans, new_key)
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/client.py", line 432, in obtain_certificate
    orderr = self._get_order_and_authorizations(csr.data, self.config.allow_subset_of_names)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/client.py", line 510, in _get_order_and_authorizations
    authzr = self.auth_handler.handle_authorizations(orderr, self.config, best_effort)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/auth_handler.py", line 84, in handle_authorizations
    resps = self.auth.perform(achalls)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 142, in perform
    return [self._try_perform_single(achall) for achall in achalls]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 150, in _try_perform_single
    _handle_perform_error(error)
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/plugins/standalone.py", line 204, in _handle_perform_error
    raise errors.PluginError(msg)
certbot.errors.PluginError: Could not bind TCP port 10005 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.

2025-12-24 09:44:42,695:DEBUG:certbot._internal.display.obj:Notifying user: 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2025-12-24 09:44:42,696:ERROR:certbot._internal.renewal:All simulated renewals failed. The following certificates could not be renewed:
2025-12-24 09:44:42,699:ERROR:certbot._internal.renewal:  /etc/letsencrypt/live/mymachine.twilightparadox.com/fullchain.pem (failure)
2025-12-24 09:44:42,703:DEBUG:certbot._internal.display.obj:Notifying user: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2025-12-24 09:44:42,705:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
  File "/snap/certbot/5236/bin/certbot", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/main.py", line 18, in main
    return internal_main.main(cli_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/main.py", line 1876, in main
    return config.func(config, plugins)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/main.py", line 1626, in renew
    renewal.handle_renewal_request(config)
  File "/snap/certbot/5236/lib/python3.12/site-packages/certbot/_internal/renewal.py", line 741, in handle_renewal_request
    raise errors.Error(
certbot.errors.Error: 1 renew failure(s), 0 parse failure(s)
2025-12-24 09:44:42,716:ERROR:certbot._internal.log:1 renew failure(s), 0 parse failure(s)

OK. Well, that was more than we needed but helpful. The key info is this:

certbot.errors.StandaloneBindError: Problem binding to port 10005: [Errno 98] Address already in use

So, yes, your port forwarding may be wrong.

You used the --standalone option of Certbot which requires exclusive use of its listening port. By default that is port 80. But, the error says port 10005 so you must have changed the default port.

Let's Encrypt's authorization server sends the challenge to your system using port 80. To get that to Certbot on port 10005 you must forward those port 80 requests to port 10005.

Or, if Certbot can listen on port 80 now we can change the port you configured to be that. Or, we can change it to some other port.

Let us know if you need help with those options and what you need the port to be.

3 Likes
# renew_before_expiry = 30 days
version = 4.0.0
archive_dir = /etc/letsencrypt/archive/mymachine.twilightparadox.com
cert = /etc/letsencrypt/live/mymachine.twilightparadox.com/cert.pem
privkey = /etc/letsencrypt/live/mymachine.twilightparadox.com/privkey.pem
chain = /etc/letsencrypt/live/mymachine.twilightparadox.com/chain.pem
fullchain = /etc/letsencrypt/live/mymachine.twilightparadox.com/fullchain.pem

# Options used in the renewal process
[renewalparams]
account = 541f3eb77cd3fe1354fdfaf9149e2bca
http01_port = 10005
key_type = rsa
pref_challs = http-01,
authenticator = standalone
server = https://acme-v02.api.letsencrypt.org/directory
[acme_renewal_info]
ari_retry_after = 2025-12-24T09:31:32

Yes, you must have used that option when originally getting the cert.

Do you still have port forwarding from 80 to 10005 for the inbound http challenges?

If not, what port should Certbot be using?

2 Likes
Lets Encrypt

Incoming IPv4, protocol TCP
From Wan
To this device , port 10005

Forward to
.........

Lan IP 172.16.20.27 port 80

I am not sure what that is doing. The inbound port 80 request from WAN should go to where Certbot standalone is trying to listen on port 10005. And, return the result to the WAN. If that is what that does then it should be fine. I would double check that.

But, the error is that port 10005 is already in use when you start Certbot. Perhaps you now use that port for something else? You haven't explained very much about your system.

There may be two problems. One involving the forwarding and one involving trying to share the same port.

We can find out what uses that port. Please show this output:

sudo ss -pant | grep -Ei ':10005|:80' | grep -i listen

If you don't have ss command, please state what version of Debian you are using

2 Likes
root@beaglebone:~# sudo ss -pant | grep -Ei ':10005|:80' | grep -i listen
LISTEN   0         10            172.16.20.27:10005             0.0.0.0:*        users:(("asterisk",pid=17501,fd=7))

I think what might work is to stop your Asterisk server before running certbot renew

Your asterisk server is currently using port 10005 which is preventing Certbot from using it.

Have you changed the config for Asterisk to use this port since your cert in May?

I am trying to understand what changed to make this fail.

2 Likes

my router got blown & I forgot how to (re-set up forwarding)

You need to know enough about your own network to setup the correct flows. We are not a full-service help forum to setup networking.

Currently, HTTP requests on port 80 get a reply from Asterisk server:

Request to: mymachine.twilightparadox.com/75.98.184.183, Result: [Address=75.98.184.183,Address Type=IPv4,Server=Asterisk/16.28.0

So, either Asterisk is also listening on port 80 and replying directly. Or, you are forwarding port 80 to port 10005 which we see Asterisk listening on.

If you describe how your network is setup we can guide you to getting Certbot working. But, we can't tell you how to design your network and other services (like Asterisk).

4 Likes

I thought the config directed LE to use 10005. my network is simple. LE -> router -> Asterisk. I only used 10005 for security

FYI this is strictly cosmetic. Asterisk only uses the privkey for inbound calls. I only use them for outbound calls.

Yes, you set Certbot --standalone to use port 10005. Certbot requires exclusive use of that port when it runs. But, Asterisk is running on that port so Certbot cannot use that port and your cert request fails.

3 Likes

i don't have a web server so dont understand who/what could be tying up the port. can i uninstall everything certbot & start from scratch??