Hopefully this the relevant part of the log for the dns-challenge
issue. Iāve editted some minor things
Summary
Feb 15 21:40:58 HostName systemd[1]: Started Caddy.
Feb 15 21:40:58 HostName caddy[80323]: caddy.HomeDir=/var/lib/caddy
Feb 15 21:40:58 HostName caddy[80323]: caddy.AppDataDir=/var/lib/caddy/.local/share/caddy
Feb 15 21:40:58 HostName caddy[80323]: caddy.AppConfigDir=/var/lib/caddy/.config/caddy
Feb 15 21:40:58 HostName caddy[80323]: caddy.ConfigAutosavePath=/var/lib/caddy/.config/caddy/autosave.json
Feb 15 21:40:58 HostName caddy[80323]: caddy.Version=v2.3.0
Feb 15 21:40:58 HostName caddy[80323]: runtime.GOOS=linux
Feb 15 21:40:58 HostName caddy[80323]: runtime.GOARCH=amd64
Feb 15 21:40:58 HostName caddy[80323]: runtime.Compiler=gc
Feb 15 21:40:58 HostName caddy[80323]: runtime.NumCPU=4
Feb 15 21:40:58 HostName caddy[80323]: runtime.GOMAXPROCS=4
Feb 15 21:40:58 HostName caddy[80323]: runtime.Version=go1.15.5
Feb 15 21:40:58 HostName caddy[80323]: os.Getwd=/
Feb 15 21:40:58 HostName caddy[80323]: LANG=en_US.UTF-8
Feb 15 21:40:58 HostName caddy[80323]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Feb 15 21:40:58 HostName caddy[80323]: HOME=/var/lib/caddy
Feb 15 21:40:58 HostName caddy[80323]: LOGNAME=caddy
Feb 15 21:40:58 HostName caddy[80323]: USER=caddy
Feb 15 21:40:58 HostName caddy[80323]: INVOCATION_ID=e74bae9163984a54bc5f7103b748174d
Feb 15 21:40:58 HostName caddy[80323]: JOURNAL_STREAM=8:2452170
Feb 15 21:40:58 HostName caddy[80323]: GANDI_API_TOKEN=***************
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4652934,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4680827,"logger":"admin","msg":"admin endpoint started","address":"tcp/localhost:2019","enforce_origin":false,"origins":["localhost:2019","[::1]:2019","127.0.0.1:2019"]}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4686565,"logger":"http","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4686894,"logger":"http","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4696753,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["test-www6.example.com"]}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4701457,"msg":"autosaved config","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4701688,"msg":"serving initial configuration"}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4705825,"logger":"tls.obtain","msg":"acquiring lock","identifier":"test-www6.example.com"}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4709985,"logger":"tls.obtain","msg":"lock acquired","identifier":"test-www6.example.com"}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4720163,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc000402fc0"}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.4897351,"logger":"tls","msg":"cleaned up storage units"}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.5096207,"logger":"tls.issuance.acme","msg":"waiting on internal rate limiter","identifiers":["test-www6.example.com"]}
Feb 15 21:40:58 HostName caddy[80323]: {"level":"info","ts":1613392858.5096762,"logger":"tls.issuance.acme","msg":"done waiting on internal rate limiter","identifiers":["test-www6.example.com"]}
Feb 15 21:41:00 HostName caddy[80323]: {"level":"info","ts":1613392860.1417341,"logger":"tls.issuance.acme.acme_client","msg":"trying to solve challenge","identifier":"test-www6.example.com","challenge_type":"dns-01","ca":"https://acme-v02.api.letsencrypt.org/directory"}
Feb 15 21:43:06 HostName caddy[80323]: {"level":"error","ts":1613392986.1164048,"logger":"tls.obtain","msg":"will retry","error":"[test-www6.example.com] Obtain: [test-www6.example.com] solving challenges: waiting for solver *certmagic.DNS01Solver to be ready: timed out waiting for record to fully propagate; verify DNS provider configuration is correct - last error: <nil> (order=https://acme-v02.api.letsencrypt.org/acme/order/92406927/7923469431) (ca=https://acme-v02.api.letsencrypt.org/directory)","attempt":1,"retrying_in":60,"elapsed":127.645385583,"max_duration":2592000}
Feb 15 21:44:07 HostName caddy[80323]: {"level":"info","ts":1613393047.4827397,"logger":"tls.issuance.acme.acme_client","msg":"trying to solve challenge","identifier":"test-www6.example.com","challenge_type":"dns-01","ca":"https://acme-staging-v02.api.letsencrypt.org/directory"}
Feb 15 21:46:13 HostName caddy[80323]: {"level":"error","ts":1613393173.1980343,"logger":"tls.obtain","msg":"will retry","error":"[test-www6.example.com] Obtain: [test-www6.example.com] solving challenges: waiting for solver *certmagic.DNS01Solver to be ready: timed out waiting for record to fully propagate; verify DNS provider configuration is correct - last error: <nil> (order=https://acme-staging-v02.api.letsencrypt.org/acme/order/15223924/240897156) (ca=https://acme-staging-v02.api.letsencrypt.org/directory)","attempt":2,"retrying_in":120,"elapsed":314.727015398,"max_duration":2592000}
Feb 15 21:48:14 HostName caddy[80323]: {"level":"info","ts":1613393294.5295618,"logger":"tls.issuance.acme.acme_client","msg":"trying to solve challenge","identifier":"test-www6.example.com","challenge_type":"dns-01","ca":"https://acme-staging-v02.api.letsencrypt.org/directory"}
Running the same setup, but this time disabling the local dns, everything works fine:
Summary
Feb 15 21:59:20 HostName systemd[1]: Started Caddy.
Feb 15 21:59:20 HostName caddy[83550]: caddy.HomeDir=/var/lib/caddy
Feb 15 21:59:20 HostName caddy[83550]: caddy.AppDataDir=/var/lib/caddy/.local/share/caddy
Feb 15 21:59:20 HostName caddy[83550]: caddy.AppConfigDir=/var/lib/caddy/.config/caddy
Feb 15 21:59:20 HostName caddy[83550]: caddy.ConfigAutosavePath=/var/lib/caddy/.config/caddy/autosave.json
Feb 15 21:59:20 HostName caddy[83550]: caddy.Version=v2.3.0
Feb 15 21:59:20 HostName caddy[83550]: runtime.GOOS=linux
Feb 15 21:59:20 HostName caddy[83550]: runtime.GOARCH=amd64
Feb 15 21:59:20 HostName caddy[83550]: runtime.Compiler=gc
Feb 15 21:59:20 HostName caddy[83550]: runtime.NumCPU=4
Feb 15 21:59:20 HostName caddy[83550]: runtime.GOMAXPROCS=4
Feb 15 21:59:20 HostName caddy[83550]: runtime.Version=go1.15.5
Feb 15 21:59:20 HostName caddy[83550]: os.Getwd=/
Feb 15 21:59:20 HostName caddy[83550]: LANG=en_US.UTF-8
Feb 15 21:59:20 HostName caddy[83550]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Feb 15 21:59:20 HostName caddy[83550]: HOME=/var/lib/caddy
Feb 15 21:59:20 HostName caddy[83550]: LOGNAME=caddy
Feb 15 21:59:20 HostName caddy[83550]: USER=caddy
Feb 15 21:59:20 HostName caddy[83550]: INVOCATION_ID=4b152798ecdd4d51b881525160c5f6bf
Feb 15 21:59:20 HostName caddy[83550]: JOURNAL_STREAM=8:3450425
Feb 15 21:59:20 HostName caddy[83550]: GANDI_API_TOKEN=*********
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6904345,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.69307,"logger":"admin","msg":"admin endpoint started","address":"tcp/localhost:2019","enforce_origin":false,"origins":["localhost:2019","[::1]:2019","127.0.0.1:2019"]}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6934047,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0004a5d50"}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6935573,"logger":"http","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6935859,"logger":"http","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6944902,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["test-www7.example.com"]}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6948476,"msg":"autosaved config","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6948757,"msg":"serving initial configuration"}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6949959,"logger":"tls.obtain","msg":"acquiring lock","identifier":"test-www7.example.com"}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.6953661,"logger":"tls.obtain","msg":"lock acquired","identifier":"test-www7.example.com"}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.7131727,"logger":"tls","msg":"cleaned up storage units"}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.7340736,"logger":"tls.issuance.acme","msg":"waiting on internal rate limiter","identifiers":["test-www7.example.com"]}
Feb 15 21:59:20 HostName caddy[83550]: {"level":"info","ts":1613393960.7341263,"logger":"tls.issuance.acme","msg":"done waiting on internal rate limiter","identifiers":["test-www7.example.com"]}
Feb 15 21:59:22 HostName caddy[83550]: {"level":"info","ts":1613393962.3324714,"logger":"tls.issuance.acme.acme_client","msg":"trying to solve challenge","identifier":"test-www7.example.com","challenge_type":"dns-01","ca":"https://acme-v02.api.letsencrypt.org/directory"}
Feb 15 21:59:44 HostName caddy[83550]: {"level":"info","ts":1613393984.2012053,"logger":"tls.issuance.acme.acme_client","msg":"validations succeeded; finalizing order","order":"https://acme-v02.api.letsencrypt.org/acme/order/92406927/7923712404"}
Feb 15 21:59:45 HostName caddy[83550]: {"level":"info","ts":1613393985.1136372,"logger":"tls.issuance.acme.acme_client","msg":"successfully downloaded available certificate chains","count":2,"first_url":"https://acme-v02.api.letsencrypt.org/acme/cert/04bfd7580f0a05ac3f33da0663a51f9eb71d"}
Feb 15 21:59:45 HostName caddy[83550]: {"level":"info","ts":1613393985.1143544,"logger":"tls.obtain","msg":"certificate obtained successfully","identifier":"test-www7.example.com"}
Feb 15 21:59:45 HostName caddy[83550]: {"level":"info","ts":1613393985.1143756,"logger":"tls.obtain","msg":"releasing lock","identifier":"test-www7.example.com"}
I did check that all the records are propagated before starting caddy each time.