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.
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.
My web server is (include version): apache2 2.4.57
The operating system my web server runs on is (include version): debian 12.1 Bookworm
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): cockpit
The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot): certbot 2.1.0
Your method for getting a cert requires an HTTP request to your domain. That request is failing. You can also reproduce with any web browser on a machine outside your local network. Use a mobile phone with wifi off to use the carrier's network - for example. And, try to access http://knowhowla.ddns.net It will fail.
You need to get that working. Make sure your ISP allows incoming requests on port 80 (and port 443). And, make sure all firewalls are open and your comms config is correct (like a router's NAT forwarding).
None of that is unique to Let's Encrypt. It is just standard comms and server config.