I am using the HestiaCP application (version 1.10.4) on a VPS running Ubuntu 24.04. For a few days, I have been trying to resolve an SSL certificate issuance error via Let’s Encrypt, which returns the following message: Error: Let’s Encrypt validation status 400 (lwinfo.com.br). Details: 403:“177.86.106.251: Invalid response from http://lwinfo.com.br/.well-known/acme-challenge/aXs7J5EFyz17L93YeQFqM-3hnwko1uunnN-s5OKYQB4: 404” Below is the error log generated by the HestiaCP system. Error log file:
=============================
Date Time: 2026-09-06 11:37:42
WEB_SYSTEM: apache2
PROXY_SYSTEM: nginx
user: lwinfo
domain: lwinfo.com.br
- aliases: www.lwinfo.com.br
- proto: http-01
- wildcard:
==[Step 1]==
- status: 200
- nonce: ak_Pb0o-w-FQFoVFpwh5BFDUCO5Zh_vo9EvCEMts6cXYkhga7mo
- answer: HTTP/2 200
server: nginx
date: Sun, 06 Sep 2026 14:37:42 GMT
content-type: application/json
content-length: 961
cache-control: public, max-age=0, no-cache
replay-nonce: ak_Pb0o-w-FQFoVFpwh5BFDUCO5Zh_vo9EvCEMts6cXYkhga7mo
x-frame-options: DENY
strict-transport-security: max-age=604800
==[API call]==
exit status: 0
==[Step 2]==
- status: 201
- nonce: ak_Pb0o-eTH3PrIGl3urX1TQtj4mZseXyDTwW_32NX-EssvGFn4
- authz: https://acme-v02.api.letsencrypt.org/acme/authz/3697777155/774518846056
https://acme-v02.api.letsencrypt.org/acme/authz/3697777155/774518846066
- finalize: https://acme-v02.api.letsencrypt.org/acme/finalize/3697777155/554052004336
- payload: {“identifiers”:[{“type”:“dns”,“value”:“lwinfo.com.br”},{“type”:“dns”,“value”:“www.lwinfo.com.br”}]}
- answer: HTTP/2 201
server: nginx
date: Sun, 06 Sep 2026 14:37:43 GMT
content-type: application/json
content-length: 495
boulder-requester: 3697777155
cache-control: public, max-age=0, no-cache
link: https://acme-v02.api.letsencrypt.org/directory;rel=“index”
location: https://acme-v02.api.letsencrypt.org/acme/order/3697777155/554052004336
replay-nonce: ak_Pb0o-eTH3PrIGl3urX1TQtj4mZseXyDTwW_32NX-EssvGFn4
x-frame-options: DENY
strict-transport-security: max-age=604800
{
“status”: “pending”,
“expires”: “2026-09-13T14:37:43Z”,
“identifiers”: [
{
“type”: “dns”,
“value”: “lwinfo.com.br”
},
{
“type”: “dns”,
“value”: “www.lwinfo.com.br”
}
],
“authorizations”: [
“https://acme-v02.api.letsencrypt.org/acme/authz/3697777155/774518846056”,
“https://acme-v02.api.letsencrypt.org/acme/authz/3697777155/774518846066”
],
“finalize”: “https://acme-v02.api.letsencrypt.org/acme/finalize/3697777155/554052004336”
}
order: https://acme-v02.api.letsencrypt.org/acme/order/3697777155/554052004336
==[API call]==
exit status: 0
==[Step 3]==
- status: 200
- nonce: -L3CcaS3nL3YTW6Dd-fAuRcMiIxMZoU4YaaXPahumcpYo3NekF4
- url: https://acme-v02.api.letsencrypt.org/acme/chall/3697777155/774518846056/kyZe9w
- token: aXs7J5EFyz17L93YeQFqM-3hnwko1uunnN-s5OKYQB4
- answer: HTTP/2 200
server: nginx
date: Sun, 06 Sep 2026 14:37:44 GMT
content-type: application/json
content-length: 821
boulder-requester: 3697777155
cache-control: public, max-age=0, no-cache
link: https://acme-v02.api.letsencrypt.org/directory;rel=“index”
replay-nonce: -L3CcaS3nL3YTW6Dd-fAuRcMiIxMZoU4YaaXPahumcpYo3NekF4
x-frame-options: DENY
strict-transport-security: max-age=604800
{
“identifier”: {
“type”: “dns”,
“value”: “lwinfo.com.br”
},
“status”: “pending”,
“expires”: “2026-09-13T14:37:43Z”,
“challenges”: [
{
“type”: “tls-alpn-01”,
“url”: “https://acme-v02.api.letsencrypt.org/acme/chall/3697777155/774518846056/hQe3iA”,
“status”: “pending”,
“token”: “aXs7J5EFyz17L93YeQFqM-3hnwko1uunnN-s5OKYQB4”
},
{
“type”: “http-01”,
“url”: “https://acme-v02.api.letsencrypt.org/acme/chall/3697777155/774518846056/kyZe9w”,
“status”: “pending”,
“token”: “aXs7J5EFyz17L93YeQFqM-3hnwko1uunnN-s5OKYQB4”
},
{
“type”: “dns-01”,
“url”: “https://acme-v02.api.letsencrypt.org/acme/chall/3697777155/774518846056/5nohog”,
“status”: “pending”,
“token”: “aXs7J5EFyz17L93YeQFqM-3hnwko1uunnN-s5OKYQB4”
}
]
}
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[API call]==
exit status: 0
==[Step 5]==
- status: 400
- url: https://acme-v02.api.letsencrypt.org/acme/chall/3697777155/774518846056/kyZe9w
- nonce: hLhE95Ri-Q_Y6nHhnEIUQPWhs0NLyTgXVNEsyCgihMvsOlGUsKE
- validation:
- details: Unable to update challenge :: authorization must be pending
- answer: HTTP/2 400
server: nginx
date: Sun, 06 Sep 2026 14:39:10 GMT
content-type: application/problem+json
content-length: 144
boulder-requester: 3697777155
cache-control: public, max-age=0, no-cache
link: https://acme-v02.api.letsencrypt.org/directory;rel=“index”
replay-nonce: hLhE95Ri-Q_Y6nHhnEIUQPWhs0NLyTgXVNEsyCgihMvsOlGUsKE
{
“type”: “urn:ietf:params:acme:error:malformed”,
“detail”: “Unable to update challenge :: authorization must be pending”,
“status”: 400
}
==[Debug information Step 5]==
{
“type”: “http-01”,
“url”: “https://acme-v02.api.letsencrypt.org/acme/chall/3697777155/774518846056/kyZe9w”,
“status”: “invalid”,
“validated”: “2026-09-06T14:37:50Z”,
“error”: {
“type”: “urn:ietf:params:acme:error:unauthorized”,
“detail”: “177.86.106.251: Invalid response from http://lwinfo.com.br/.well-known/acme-challenge/aXs7J5EFyz17L93YeQFqM-3hnwko1uunnN-s5OKYQB4: 404”,
“status”: 403
},
“token”: “aXs7J5EFyz17L93YeQFqM-3hnwko1uunnN-s5OKYQB4”,
“validationRecord”: [
{
“url”: “http://lwinfo.com.br/.well-known/acme-challenge/aXs7J5EFyz17L93YeQFqM-3hnwko1uunnN-s5OKYQB4”,
“hostname”: “lwinfo.com.br”,
“port”: “80”,
“addressesResolved”: [
“177.86.106.251”
],
“addressUsed”: “177.86.106.251”
}
]
}
==[Abort Step 5]==
=> Wrong status
I have already read and followed several “step-by-step” guides that were supposed to solve the problem, but unfortunately, I haven’t had any success. I am seeking help because I am feeling discouraged and frustrated by this issue…
Thank you in advance for your attention.




