1. The problem I’m having:
Hi, I’m trying to use Caddy in a new project. The project is a web app hosted in AWS EC2, managed with terraform. My Caddyfile initially was:
dev.sophistree.app {
reverse_proxy localhost:3000
log {
output file /var/log/caddy/access.log
}
}
In the course of developing the web app, I triggered the “New Certificates per Exact Set of Hostnames” because I am recreating my instance and so reinstalling Caddy via user-data script multiple times per day.
Excerpt of the error message:
...
"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"dev.sophistree.app","issuer":"acme-v02.api.letsencrypt.org-directory","error":"HTTP 429 urn:ietf:params:acme:error:rateLimited - too many certificates (5) already issued for this exact set of domains in the last 168h0m0s, retry after 2024-11-18 17:57:51 UTC: see https://letsencrypt.org/docs/rate-limits/#new-certificates-per-exact-set-of-hostnames"
...
I looked into using the letsencrypt staging endpoint, but unfortunately that doesn’t work because the TLD I picked for my project (.app
) does not allow browsers to disable HSTS for them:
The entire TLD app is preloaded for HSTS and individual domain names cannot be removed.
https://hstspreload.org/removal/?domain=sophistree.app
So it’s not possible to connect to a site hosted under the .app
TLD using an insecure cert.
So back to the rate limit docs, I notice that it mentions a workaround:
If you’ve hit this limit, you can change the set of hostnames by adding
blog.example.com
, to request additional certificates. Be aware that these new orders would not be considered renewals. Therefore, they would be subject to the New Orders per Account and New Certificates per Registered Domain rate limits.")
So I update my Caddyfile like so:
dev.sophistree.app, test.sophistree.app {
reverse_proxy localhost:3000
log {
output file /var/log/caddy/access.log
}
}
But this still doesn’t work, and I get similar error message as above. (See next section.)
2. Error messages and/or full log output:
Nov 18 03:31:28 ip-10-0-1-150.us-west-2.compute.internal systemd[1]: Starting caddy.service - Caddy...
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: caddy.HomeDir=/var/lib/caddy
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: caddy.AppDataDir=/var/lib/caddy/.local/share/caddy
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: caddy.AppConfigDir=/var/lib/caddy/.config/caddy
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: caddy.ConfigAutosavePath=/var/lib/caddy/.config/caddy/autosave.json
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: caddy.Version=v2.7.6 h1:w0NymbG2m9PcvKWsrXO6EEkY9Ru4FJK8uQbYcev1p3A=
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: runtime.GOOS=linux
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: runtime.GOARCH=amd64
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: runtime.Compiler=gc
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: runtime.NumCPU=2
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: runtime.GOMAXPROCS=2
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: runtime.Version=go1.20.10
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: os.Getwd=/
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: LANG=C.UTF-8
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: NOTIFY_SOCKET=/run/systemd/notify
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: HOME=/var/lib/caddy
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: LOGNAME=caddy
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: USER=caddy
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: INVOCATION_ID=9df21c68127f41b782ab6297cd4b3667
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: JOURNAL_STREAM=8:150309
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: SYSTEMD_EXEC_PID=21318
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.018547,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"warn","ts":1731900689.020228,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile"
,"line":2}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.021601,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//127.0.0.1:2019","//localhost:201
9","//[::1]:2019"]}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0217624,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","ser
ver_name":"srv0","https_port":443}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.02179,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.021833,"logger":"http.auto_https","msg":"adjusted config","tls":{"automation":{"policies":[{}]}},"http":{"servers":{"remaining_auto_https_redirects":{
"listen":[":80"],"routes":[{},{}],"logs":{"logger_names":{"dev.sophistree.app":"log0","test.sophistree.app":"log0"}}},"srv0":{"listen":[":443"],"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial
":"localhost:3000"}]}]}]}],"terminal":true}],"tls_connection_policies":[{}],"automatic_https":{},"logs":{"logger_names":{"dev.sophistree.app":"log0","test.sophistree.app":"log0"}}}}}}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.0228915,"logger":"http","msg":"starting server loop","address":"[::]:80","tls":false,"http3":false}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0229201,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0229623,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.0235527,"logger":"http","msg":"starting server loop","address":"[::]:443","tls":true,"http3":true}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0235693,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.023577,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["dev.sophistree.app","test.sophistree.app"]}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0240204,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0240834,"msg":"serving initial configuration"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0244203,"logger":"tls.obtain","msg":"acquiring lock","identifier":"dev.sophistree.app"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0247872,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0003ed580"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal systemd[1]: Started caddy.service - Caddy.
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0271451,"logger":"tls.obtain","msg":"lock acquired","identifier":"dev.sophistree.app"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0273025,"logger":"tls.obtain","msg":"obtaining certificate","identifier":"dev.sophistree.app"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.0273273,"logger":"events","msg":"event","name":"cert_obtaining","id":"1b38a78d-8409-4531-a00b-80eeaa8e3d37","origin":"tls","data":{"identifier":"dev.s
ophistree.app"}}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.0276637,"logger":"tls.obtain","msg":"trying issuer 1/2","issuer":"acme-v02.api.letsencrypt.org-directory"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0282495,"logger":"http","msg":"waiting on internal rate limiter","identifiers":["dev.sophistree.app"],"ca":"https://acme-v02.api.letsencrypt.org/direct
ory","account":""}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0282648,"logger":"http","msg":"done waiting on internal rate limiter","identifiers":["dev.sophistree.app"],"ca":"https://acme-v02.api.letsencrypt.org/d
irectory","account":""}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0292134,"logger":"tls.obtain","msg":"acquiring lock","identifier":"test.sophistree.app"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"warn","ts":1731900689.0306306,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/var/lib/caddy/.local/share/caddy","inst
ance":"faa1e50c-a227-415a-9a47-888257ef578c","try_again":1731987089.0306277,"try_again_in":86399.999999453}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.031398,"logger":"tls","msg":"finished cleaning storage units"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0327473,"logger":"tls.obtain","msg":"lock acquired","identifier":"test.sophistree.app"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0329683,"logger":"tls.obtain","msg":"obtaining certificate","identifier":"test.sophistree.app"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.0330014,"logger":"events","msg":"event","name":"cert_obtaining","id":"02ad9e4d-fa9a-4b25-bc32-b07aab97a393","origin":"tls","data":{"identifier":"test.
sophistree.app"}}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.0334213,"logger":"tls.obtain","msg":"trying issuer 1/2","issuer":"acme-v02.api.letsencrypt.org-directory"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0337565,"logger":"http","msg":"waiting on internal rate limiter","identifiers":["test.sophistree.app"],"ca":"https://acme-v02.api.letsencrypt.org/direc
tory","account":""}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.0337996,"logger":"http","msg":"done waiting on internal rate limiter","identifiers":["test.sophistree.app"],"ca":"https://acme-v02.api.letsencrypt.org/
directory","account":""}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.225926,"logger":"http.acme_client","msg":"http request","method":"GET","url":"https://acme-v02.api.letsencrypt.org/directory","headers":{"User-Agent":
["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["746"],"Content-Type":["application/json"],"Date":["Mon, 18 Nov 2024 03:31:29 GMT"],"Server":["nginx"],"Strict-Transport
-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.2719219,"logger":"http.acme_client","msg":"http request","method":"HEAD","url":"https://acme-v02.api.letsencrypt.org/acme/new-nonce","headers":{"User-
Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Cache-Control":["public, max-age=0, no-cache"],"Date":["Mon, 18 Nov 2024 03:31:29 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\""],"Replay-Nonce":[
"usf-jMgXlAxa7wjNAwkD5yEhVN7vocSTiZQpoSLNcsMIvTG1I34"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.3223078,"logger":"http.acme_client","msg":"http request","method":"HEAD","url":"https://acme-v02.api.letsencrypt.org/acme/new-nonce","headers":{"User-
Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Cache-Control":["public, max-age=0, no-cache"],"Date":["Mon, 18 Nov 2024 03:31:29 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\""],"Replay-Nonce":[
"JNlwFRqrkJnHL-ZHrWEaqv-RSlBpSMwzjNFbzNlvvtFqAXo2o3M"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.3703883,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/new-order","headers":{"Conte
nt-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["306"],"Content-Type":["application/p
roblem+json"],"Date":["Mon, 18 Nov 2024 03:31:29 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\"","<https://letsencrypt.org/docs/rate-limits>;rel=\"help\""],"Replay-Nonce":["JNlwFRqroo909L6GXp2DsIhrvyTGLaEF7-apqRvcf1hvF72FHu
I"],"Retry-After":["52555"],"Server":["nginx"]},"status_code":429}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900689.3705213,"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"dev.sophistree.app","issuer":"acme-v02.api.letsencrypt.org-d
irectory","error":"HTTP 429 urn:ietf:params:acme:error:rateLimited - too many certificates (5) already issued for this exact set of domains in the last 168h0m0s, retry after 2024-11-18 18:07:24 UTC: see https://letsencrypt.org/docs/rate-limits/#new-certi
ficates-per-exact-set-of-hostnames"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.3705423,"logger":"tls.obtain","msg":"trying issuer 2/2","issuer":"acme.zerossl.com-v2-DV90"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"warn","ts":1731900689.3707316,"logger":"http","msg":"missing email address for ZeroSSL; it is strongly recommended to set one for next time"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.5220962,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/new-order","headers":{"Conte
nt-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["345"],"Content-Type":["application/j
son"],"Date":["Mon, 18 Nov 2024 03:31:29 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\""],"Location":["https://acme-v02.api.letsencrypt.org/acme/order/2062718477/324207004377"],"Replay-Nonce":["JNlwFRqr4cl7IasIRQnCRZSOyB8a8
Caim9h4T2Y5E7s719VO_3k"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":201}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.5770843,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/authz-v3/431739627647","head
ers":{"Content-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["803"],"Content-Type":["a
pplication/json"],"Date":["Mon, 18 Nov 2024 03:31:29 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\""],"Replay-Nonce":["usf-jMgXX3uFuXrrMkr-ANTrnjWeOuwtT7mPmcreQQ_33UdDcz8"],"Server":["nginx"],"Strict-Transport-Security":["m
ax-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900689.5786064,"logger":"http.acme_client","msg":"trying to solve challenge","identifier":"test.sophistree.app","challenge_type":"http-01","ca":"https://acme-
v02.api.letsencrypt.org/directory"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.580133,"logger":"http.acme_client","msg":"waiting for solver before continuing","identifier":"test.sophistree.app","challenge_type":"http-01"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.5801575,"logger":"http.acme_client","msg":"done waiting for solver","identifier":"test.sophistree.app","challenge_type":"http-01"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.6533482,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/431739627647/8kkO2Q
","headers":{"Content-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["187"],"Content-Type":["application/json"],"Date":["Mon, 18 Nov 2024 03:31:29 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\"","<https://acme-v02.api.letsencrypt.org/acme/authz-v3/431739627647>;rel=\"up\""],"Location":["https://acme-v02.api.letsencrypt.org/acme/chall-v3/431739627647/8kkO2Q"],"Replay-Nonce":["JNlwFRqr730xjiPbKW5wsEsE7FPddNMsZHVaU9LCveFa8yPQ9R0"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.6534462,"logger":"http.acme_client","msg":"challenge accepted","identifier":"test.sophistree.app","challenge_type":"http-01"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900689.7698932,"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"dev.sophistree.app","issuer":"acme.zerossl.com-v2-DV90","error":"account pre-registration callback: failed getting EAB credentials: HTTP 422: caddy_legacy_user_removed (code 2977)"}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.76995,"logger":"events","msg":"event","name":"cert_failed","id":"1a79b2e8-176b-4cd5-b95e-39a7485f571a","origin":"tls","data":{"error":{},"identifier":"dev.sophistree.app","issuers":["acme-v02.api.letsencrypt.org-directory","acme.zerossl.com-v2-DV90"],"renewal":false}}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900689.7699876,"logger":"tls.obtain","msg":"will retry","error":"[dev.sophistree.app] Obtain: account pre-registration callback: failed getting EAB credentials: HTTP 422: caddy_legacy_user_removed (code 2977)","attempt":1,"retrying_in":60,"elapsed":0.742820096,"max_duration":2592000}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900689.9569058,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/authz-v3/431739627647","headers":{"Content-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["756"],"Content-Type":["application/json"],"Date":["Mon, 18 Nov 2024 03:31:29 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\""],"Replay-Nonce":["JNlwFRqrunBbAfI-K4B4T1pWbAWuHhBYsr5_00OiveU9JGAQP-s"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900689.9571407,"logger":"http.acme_client","msg":"challenge failed","identifier":"test.sophistree.app","challenge_type":"http-01","problem":{"type":"urn:ietf:params:acme:error:dns","title":"","detail":"DNS problem: NXDOMAIN looking up A for test.sophistree.app - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for test.sophistree.app - check that a DNS record exists for this domain","instance":"","subproblems":[]}}
Nov 18 03:31:29 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900689.9571822,"logger":"http.acme_client","msg":"validating authorization","identifier":"test.sophistree.app","problem":{"type":"urn:ietf:params:acme:error:dns","title":"","detail":"DNS problem: NXDOMAIN looking up A for test.sophistree.app - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for test.sophistree.app - check that a DNS record exists for this domain","instance":"","subproblems":[]},"order":"https://acme-v02.api.letsencrypt.org/acme/order/2062718477/324207004377","attempt":1,"max_attempts":3}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.1506338,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/new-order","headers":{"Content-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["345"],"Content-Type":["application/json"],"Date":["Mon, 18 Nov 2024 03:31:31 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\""],"Location":["https://acme-v02.api.letsencrypt.org/acme/order/2062718477/324207010367"],"Replay-Nonce":["JNlwFRqrqPSNF2fSi3E0vZwBCW9_mZAMn_8VhV0iv7lEORMI5HU"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":201}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.2067866,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/authz-v3/431739635687","headers":{"Content-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["803"],"Content-Type":["application/json"],"Date":["Mon, 18 Nov 2024 03:31:31 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\""],"Replay-Nonce":["usf-jMgX_Fbgq_j__E8t8DqBafHTYQ6ZW7BiydET85PUrUbx2OY"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.2069333,"logger":"http.acme_client","msg":"no solver configured","challenge_type":"dns-01"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"info","ts":1731900691.2069435,"logger":"http.acme_client","msg":"trying to solve challenge","identifier":"test.sophistree.app","challenge_type":"tls-alpn-01","ca":"https://acme-v02.api.letsencrypt.org/directory"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.208131,"logger":"http.acme_client","msg":"waiting for solver before continuing","identifier":"test.sophistree.app","challenge_type":"tls-alpn-01"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.2081542,"logger":"http.acme_client","msg":"done waiting for solver","identifier":"test.sophistree.app","challenge_type":"tls-alpn-01"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.208402,"logger":"http.stdlib","msg":"http: TLS handshake error from 127.0.0.1:53954: EOF"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.26258,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/431739635687/kaNfDg","headers":{"Content-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["191"],"Content-Type":["application/json"],"Date":["Mon, 18 Nov 2024 03:31:31 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\"","<https://acme-v02.api.letsencrypt.org/acme/authz-v3/431739635687>;rel=\"up\""],"Location":["https://acme-v02.api.letsencrypt.org/acme/chall-v3/431739635687/kaNfDg"],"Replay-Nonce":["usf-jMgX6zfztMQoLX8wrmQJaGJ5XBzQa3G-YDbZh4QQ0U791ro"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.2627342,"logger":"http.acme_client","msg":"challenge accepted","identifier":"test.sophistree.app","challenge_type":"tls-alpn-01"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.5639617,"logger":"http.acme_client","msg":"http request","method":"POST","url":"https://acme-v02.api.letsencrypt.org/acme/authz-v3/431739635687","headers":{"Content-Type":["application/jose+json"],"User-Agent":["Caddy/2.7.6 CertMagic acmez (linux; amd64)"]},"response_headers":{"Boulder-Requester":["2062718477"],"Cache-Control":["public, max-age=0, no-cache"],"Content-Length":["886"],"Content-Type":["application/json"],"Date":["Mon, 18 Nov 2024 03:31:31 GMT"],"Link":["<https://acme-v02.api.letsencrypt.org/directory>;rel=\"index\""],"Replay-Nonce":["usf-jMgXLS8oi_mCtxg_T2UwuFUgbDUckNdnRciIsjU1e_IbBiU"],"Server":["nginx"],"Strict-Transport-Security":["max-age=604800"],"X-Frame-Options":["DENY"]},"status_code":200}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900691.5641873,"logger":"http.acme_client","msg":"challenge failed","identifier":"test.sophistree.app","challenge_type":"tls-alpn-01","problem":{"type":"urn:ietf:params:acme:error:dns","title":"","detail":"DNS problem: NXDOMAIN looking up A for test.sophistree.app - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for test.sophistree.app - check that a DNS record exists for this domain","instance":"","subproblems":[]}}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900691.5642233,"logger":"http.acme_client","msg":"validating authorization","identifier":"test.sophistree.app","problem":{"type":"urn:ietf:params:acme:error:dns","title":"","detail":"DNS problem: NXDOMAIN looking up A for test.sophistree.app - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for test.sophistree.app - check that a DNS record exists for this domain","instance":"","subproblems":[]},"order":"https://acme-v02.api.letsencrypt.org/acme/order/2062718477/324207010367","attempt":2,"max_attempts":3}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900691.564257,"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"test.sophistree.app","issuer":"acme-v02.api.letsencrypt.org-directory","error":"HTTP 400 urn:ietf:params:acme:error:dns - DNS problem: NXDOMAIN looking up A for test.sophistree.app - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for test.sophistree.app - check that a DNS record exists for this domain"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.5642753,"logger":"tls.obtain","msg":"trying issuer 2/2","issuer":"acme.zerossl.com-v2-DV90"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"warn","ts":1731900691.5644484,"logger":"http","msg":"missing email address for ZeroSSL; it is strongly recommended to set one for next time"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900691.7441924,"logger":"tls.obtain","msg":"could not get certificate from issuer","identifier":"test.sophistree.app","issuer":"acme.zerossl.com-v2-DV90","error":"account pre-registration callback: failed getting EAB credentials: HTTP 422: caddy_legacy_user_removed (code 2977)"}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"debug","ts":1731900691.7442496,"logger":"events","msg":"event","name":"cert_failed","id":"ddcceea4-0b80-4da4-922a-215bf13c0b90","origin":"tls","data":{"error":{},"identifier":"test.sophistree.app","issuers":["acme-v02.api.letsencrypt.org-directory","acme.zerossl.com-v2-DV90"],"renewal":false}}
Nov 18 03:31:31 ip-10-0-1-150.us-west-2.compute.internal caddy[21318]: {"level":"error","ts":1731900691.7442818,"logger":"tls.obtain","msg":"will retry","error":"[test.sophistree.app] Obtain: account pre-registration callback: failed getting EAB credenti
als: HTTP 422: caddy_legacy_user_removed (code 2977)","attempt":1,"retrying_in":60,"elapsed":2.71151537,"max_duration":2592000}
3. Caddy version:
$ caddy version
v2.7.6 h1:w0NymbG2m9PcvKWsrXO6EEkY9Ru4FJK8uQbYcev1p3A=
4. How I installed and ran Caddy:
a. System environment:
AWS EC2 Linux:
$ cat /etc/system-release
Amazon Linux release 2023.6.20241111 (Amazon Linux)
b. Command:
dnf install -y 'dnf-command(copr)'
dnf copr enable -y @caddy/caddy epel-7-$(arch)
dnf install -y caddy
systemctl enable caddy
systemctl start caddy
c. Service/unit/compose file:
d. My complete Caddy config:
{
debug
}
dev.sophistree.app, test.sophistree.app {
reverse_proxy localhost:3000
log {
output file /var/log/caddy/access.log
}
}
5. Links to relevant resources:
Omitted because new users cannot post more than 4 links. See above.