Hi, I had the same issue las week, maybe the solution/workaround apply to you 
as well, my site is behind cloudflare, took me a full day to realise that the 
problem was caused by SSL/TLS config in CF...in my case originally was "Full 
(Strict)", I had to change it to "Auto"...No more problems since then.

HTH

--

Ronny Machado C.


IT Consultant
HP-UX Certified Systems Administrator
Oracle Linux Certified Implementation Specialist
Oracle MySQL Enterprise Certified Implementation Specialist

https://sysops.cl


Sent with Proton Mail secure email.

On Thursday, September 3rd, 2026 at 12:35 PM, [email protected] 
<[email protected]> wrote:

> Just recently, I started seeing problems where one Let's Encrypt certificate
> was not being renewed by acme-client.
> 
> Digging around the issue after waiting a few days to see if the issue as
> temporal, I found that the temporary file set by acme-client in
> /var/www/acme/ is not available when Let's Encrypt checks for it; instead,
> httpd is generating a 404.
> 
> I'm running 7.9
> 
> $ uname -a
> OpenBSD www 7.9 GENERIC#8 amd64
> 
> Relevant portions of /etc/acme-client.conf
> ------------------------------------------
> 
> authority letsencrypt-staging {
> api url "https://acme-staging-v02.api.letsencrypt.org/directory";
> account key "/etc/acme/letsencrypt-staging-privkey.pem" }
> 
> domain www.example.com {
>  domain key "/etc/ssl/private/www.example.com.key.pem"
>  domain full chain certificate "/etc/ssl/certs/www.example.com.chain.pem"
>  sign with letsencrypt-staging
> }
> 
> 
> Relevant parts of httpd.conf
> ----------------------------
> 
> server "www.example.com" {
>   alias "www2.example.com"
>   listen on 203.0.113.1   port 80
>   listen on 3fff:a:b::2 port 80
>   location "/.well-known/acme-challenge/*" {
>     root "/acme"
>     request strip 2
>     pass
>   }
>   block return 301 "https://$HTTP_HOST$REQUEST_URI";
> }
> 
> 
> Here is a breakdown of the transaction; running acme-client shows the error:
> 
> # acme-client -v www.example.com
> acme-client: https://acme-staging-v02.api.letsencrypt.org/directory: 
> directories
> acme-client: acme-staging-v02.api.letsencrypt.org: DNS: 172.65.46.172
> acme-client: acme-staging-v02.api.letsencrypt.org: DNS: 
> 2606:4700:60:0:f41b:d4fe:4325:6026
> acme-client: account key: 
> https://acme-staging-v02.api.letsencrypt.org/acme/acct/999999999
> acme-client: dochngreq: 
> https://acme-staging-v02.api.letsencrypt.org/acme/authz/999999999/4323610543
> acme-client: challenge, token: 0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ, 
> uri: 
> https://acme-staging-v02.api.letsencrypt.org/acme/chall/999999999/4323610543/MtUOoQ,
>  status: 0
> acme-client: /var/www/acme/0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ: 
> created
> acme-client: 
> https://acme-staging-v02.api.letsencrypt.org/acme/chall/999999999/4323610543/MtUOoQ:
>  challenge
> acme-client: order.status 0
> acme-client: dochngreq: 
> https://acme-staging-v02.api.letsencrypt.org/acme/authz/999999999/4323610543
> acme-client: challenge, token: 0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ, 
> uri: 
> https://acme-staging-v02.api.letsencrypt.org/acme/chall/999999999/4323610543/MtUOoQ,
>  status: 0
> acme-client: /var/www/acme/0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ: 
> created
> acme-client: 
> https://acme-staging-v02.api.letsencrypt.org/acme/chall/999999999/4323610543/MtUOoQ:
>  challenge
> acme-client: 
> https://acme-staging-v02.api.letsencrypt.org/acme/chall/999999999/4323610543/MtUOoQ:
>  bad HTTP: 409
> acme-client: transfer buffer: [{
>   "type": "urn:ietf:params:acme:error:conflict",
>   "detail": "Unable to update challenge :: failed to mark authz as 
> processing: Authorization is already being validated. This may indicate your 
> client attempted the same challenge multiple times, possibly due to a client 
> bug.",
>   "status": 409
> }] (296 bytes)
> acme-client: bad exit: netproc(58779): 1
> 
> 
> Looking at the output that LE provides at the following URL shows an HTTP
> 404 when trying to fetch the challenge file.
> <https://acme-staging-v02.api.letsencrypt.org/acme/authz/999999999/4322736873>
> 
> {
>   "identifier": {
>     "type": "dns",
>     "value": "www.example.com"
>   },
>   "status": "invalid",
>   "expires": "2026-09-10T14:03:56Z",
>   "challenges": [
>     {
>       "type": "http-01",
>       "url": 
> "https://acme-staging-v02.api.letsencrypt.org/acme/chall/999999999/4323610543/MtUOoQ";,
>       "status": "invalid",
>       "validated": "2026-09-03T14:03:57Z",
>       "error": {
>         "type": "urn:ietf:params:acme:error:unauthorized",
>         "detail": "203.0.113.1: Invalid response from 
> http://www.example.com/.well-known/acme-challenge/0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ:
>  404",
>         "status": 403
>       },
>       "token": "0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ",
>       "validationRecord": [
>         {
>           "url": 
> "http://www.example.com/.well-known/acme-challenge/0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ";,
>           "hostname": "www.example.com",
>           "port": "80",
>           "addressesResolved": [
>             "3fff:a:b::2",
>             "203.0.113.1"
>           ],
>           "addressUsed": "3fff:a:b::2"
>         },
>         {
>           "url": 
> "http://www.example.com/.well-known/acme-challenge/0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ";,
>           "hostname": "www.example.com",
>           "port": "80",
>           "addressesResolved": [
>             "3fff:a:b::2",
>             "203.0.113.1"
>           ],
>           "addressUsed": "203.0.113.1"
>         }
>       ]
>     }
>   ]
> }
> 
> So there is definitely a 404 occuring, but the file DOES exist in
> /var/www/acme/ (as shown during the time of the transaction)
> 
> # find /var/www/acme -ls
> 155520    4 drwxr-xr-x    2 root     daemon        512 Sep  3 09:03 
> /var/www/acme
> 155521    4 -r--r--r--    1 root     daemon         87 Sep  3 09:04 
> /var/www/acme/0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ
> 
> 
> /var/www/logs/access.log shows the HTTP 404 being served.
> 
> www.example.com 66.133.109.36 - - [03/Sep/2026:09:04:07 -0500] "GET 
> /.well-known/acme-challenge/0qew5-cCl8MYLRX1I58Ald50lxppE4yM0RZy-aeJRUQ 
> HTTP/1.1" 404 0
> 
> 
> Is anyone else experiencing this issue? What have you done to work around it?
> 
> Thanks in advance.
> 
>

Reply via email to