The nightmare returns. My Let's Encrypt cron on Vultr VPS has been failing silently since March, and at 2AM this morning the certificate expired. WooCommerce checkout broken, customers angry, revenue zero. I check logs and voilà—certbot had been writing errors to /dev/null because I copied the cron from some tutorial. Five months of failures, invisible. I have now fixed the redirect loop and renewed manually, but the trust is damaged. How do you all monitor this? I cannot watch certificates like a hawk. I used https://healthchecks.io for cron monitoring after this.
SSL auto-renew broke everything at 2AM again
Methinks the practice of discarding error output, whence no man may know what demons lurk in the darkness of failed renewals, is a folly most grievous, for when the clock strikes two in the morning and the certificate doth expire, wherefore then shall the merchant of digital wares find himself but weeping into his pillow whilst customers flee to competitors whose SSL connections remain steadfast and true, and I speak this from experience most bitter, for ye olde server of mine own suffered likewise in the winter of '22, until I reformed my cron practices and now send all output whence it may be read by mine own eyes at dawn's first light.
Monitoring is fine, but the real problem is dependency stacking. I see this at the datacenter: people run certbot in Docker on a 1U Atom box drawing 15W, then wonder why things break. My edge nodes at RackNerd use native package installs, systemd timers, and a simple TCP check on 443 from a second box. Two lines of shell. 0.3% CPU overhead. No containers, no cron syntax from StackOverflow.
Ah yes (the classic "just do it properly" approach) (which works (in theory)) until you discover (as I did last Tuesday (at 3AM (naturally))) that your systemd timer was masked by a failed apt upgrade six months prior (don't ask) (I have automation for this now) (except the automation also failed) (because it was checking the wrong timer) (the one from the old certbot package) (before the rename) (you see where this is going) (I now pay for monitoring) (ironic).
$10/year multi-year cert from CloudCone. No cron. No renewal. No 2AM pages. 2048-bit RSA, SHA-256, browser trust 100%. Opportunity cost of debugging LE: 4 hours/year minimum. My rate: higher than $10.
Same redirect loop here
What OS is the Vultr VPS running, ubuntu 22 or something else
I say native package installs break too
Ubuntu 22.04. The cron was in /etc/cron.d from a DigitalOcean tutorial I copied in 2021 when I was on their Amsterdam droplet. Moved to Vultr Paris later, never touched the cron. My fault, but these tutorials age like milk.
I looked at paid certs after this. But with WooCommerce I need wildcard for the staging subdomain, and wildcard DV is 60-80 EUR/year at providers I trust. Let's Encrypt is free if I stop being an idiot about monitoring.
Ubuntu 22.04, got it. I run 20.04 on my Vultr Singapore instance and certbot renew --dry-run in cron weekly, output to file, logrotate that file. Simple. But I also have UptimeRobot ping every 5 minutes on HTTPS, free tier. Caught an expiry once when cron was fine but nginx reload failed.