Today I gained a little more knowledge about Caddy, and I thought I’d share in case someone is having the same issue.
I’ve been biting my nails worrying about Caddy updating certificates. Everything I had read told me not to sweat it. That Caddy had my back and wouldn’t let any certs expire. Well, two did, today. So I set about today, after I got all my chores done, to see if I could figure out wtf.
Long story short, I had a inconsistency in the format of my Caddy file. It didn’t affect the function of the file to the extent that it would not provide the certificate in daily use, but apparently I confused Caddy enough so that it couldn’t determine when certs were expiring, and reissue the cert.
If you run the following:
caddy reload --config /etc/caddy/Caddyfile
And you get something like this:
2025/04/09 21:49:03.376 WARN Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies{"adapter": "caddyfile", "file": "/etc/caddy/Caddyfile", "line": 1}
It’s a warning that something is askew. Not to worry tho, you can fix it thusly:
Make a backup assuming etc/caddy/Caddyfile is where your Caddyfile is:
cp /etc/caddy/Caddyfile /etc/caddy/Caddyfile.bak
Next we’ll ask Caddy nicely to please reformat in an acceptible form:
sudo caddy fmt --overwrite /etc/caddy/Caddyfile
Trust but verify:
caddy validate --config /etc/caddy/Caddyfile
Now run:
caddy reload --config /etc/caddy/Caddyfile
You should be golden at this point.
Cheers
Use the DNS challenge instead? You’ll need a DNS provider with an API though
Does Caddy use certbot to do the renewal? A long time ago DNS was a pain but now it seems like a lot of providers are supported.
Huh, I didn’t know about this option. I’ll check it out. Thanks!