I ran this command:hestiaCP Let' Encrypt checkmark
It produced this output:
{
"type": "urn:ietf:params:acme:error:orderNotReady",
"detail": "Order's status ("invalid") is not acceptable for finalization",
"status": 403
}
My web server is: Ghost v5.94.0 (Node.js v20.17.0 application) behind nginx 1.27.1
The operating system my web server runs on is: Ubuntu 22.04.4 LTS minimal
My hosting provider, if applicable, is: self-hosted (evi.dement.es) on an Oracle Cloud AMD VPS
I can login to a root shell on my machine: yes
I'm using a control panel to manage my site: hestiaCP v1.8.12,
I concur with Mike and Christopher's assessment(s):
rip:T430 ~ >> check_dns.py bellerad.io
A records for bellerad.io: ['217.70.184.38']
AAAA records for bellerad.io: No record found
MX records for bellerad.io: ['10 mxa.eu.mailgun.org.', '10 mxb.eu.mailgun.org.']
NS records for bellerad.io: ['ns-194-b.gandi.net.', 'ns-250-a.gandi.net.', 'ns-161-c.gandi.net.']
CNAME records for bellerad.io: No record found
TXT records for bellerad.io: ['"v=spf1 include:mailgun.org ~all"', '"facebook-domain-verification=hjwa0sna8d8cd5v7fyinzr8r87h3jz"']
SOA records for bellerad.io: ['ns1.gandi.net. hostmaster.gandi.net. 1726704000 10800 3600 604800 10800']
rip:T430 ~ >> check_dns.py www.bellerad.io
A records for www.bellerad.io: ['130.61.123.88']
AAAA records for www.bellerad.io: No record found
MX records for www.bellerad.io: No record found
NS records for www.bellerad.io: No record found
CNAME records for www.bellerad.io: No record found
TXT records for www.bellerad.io: No record found
SOA records for www.bellerad.io: No record found
Let's Encrypt queries your authoritative DNS servers directly. It is not affected by TTL propagation.
You can try again now. And, use https://unboundtest.com to look up IP address similar to how Let's Encrypt does it (it already sees your corrected IP address)
Note the "detail" part which shows the URL that failed. All of the characters are lower-case. That is wrong. Something on your system is redirecting requests but changing everything to lower case.
I can reproduce that failure with simple requests:
# This redirects by adding trailing slash
# Probably also creates problem but still upper case
curl -iL http://bellerad.io/.well-known/acme-challenge/Test404UPPER
HTTP/1.1 301 Moved Permanently
Server: nginx
X-Powered-By: Express
Location: /.well-known/acme-challenge/Test404UPPER/
# Following that link gets redirected again but all lower case now
HTTP/1.1 301 Moved Permanently
Server: nginx
X-Powered-By: Express
Location: /.well-known/acme-challenge/test404upper/
# And finally this.
HTTP/1.1 404 Not Found
Server: nginx
It seems like the first two names are OK.
The last name "bellarad.io" is the one with issues.
I also see:
WEB_SYSTEM: apache2
PROXY_SYSTEM: nginx
Which may be part of the problem; As both systems may need to handle each name.
Perhaps one of them is not handling this name correctly.
[I don't know how to troubleshoot that panel]
All three names are showing that same trailing slash issue.
I can only suppose the panel makes some temporary adjustment to handle the ACME request.
[i.e. --nginx or --apache]
That is probably true. In which case they need to check why bellerad.io is handled different in their panel.
The challenge failure message from LE has the URL in all lower case. There is no practical way that can happen once let alone repeatedly.
My tests showing lower case may not reflect what happens in their system for a valid request. But, their system is failing to handle bellerad.io properly. Otherwise we would see a valid URL in the error message from LE.
There were three levels of nginx configuration files to deal with : panel > site > NodeJS. In my site nginx.conf file, I was suggested to add (before an existing include):
include /home/YourUser/conf/web/bellerad.io/nginx.conf_*;