The easy part of Let's Encrypt is issuing the first certificate. The part that keeps sites online is renewal automation. A certificate automation plan should prove four things: validation can happen, the new certificate lands in the right place, the web server reloads, and someone notices before expiry if any step fails.
Choose the challenge by topology
| Challenge | Best fit | Main limit |
|---|---|---|
| HTTP-01 | Simple public web server | Needs port 80 and no wildcard issuance |
| DNS-01 | Wildcard certs or complex routing | Needs DNS API automation and careful token scope |
| TLS-ALPN-01 | TLS-aware automation on port 443 | Less common in simple hosting setups |
Shorter lifetimes change the margin
Let's Encrypt announced a staged reduction from 90-day certificates to 45 days by 2028. The article also says that a hardcoded 60-day renewal interval will no longer be sufficient when 45-day certificates are in use. That means renewal logic should follow the ACME client and CA signals, not a calendar habit someone wrote years ago.
A renewal check that catches real failures
- Run a staging or dry-run renewal after every certificate automation change.
- Verify the web server can reload without syntax errors.
- Check that the served certificate changed when a renewal happens.
- Alert on expiry at 30, 14, and 7 days.
- Keep DNS API tokens narrowly scoped and rotate them when staff or systems change.
Rate limits are a design signal
Let's Encrypt's rate limits are generous for normal renewals but painful for broken loops. If you are testing automation, use the staging environment. If your script creates accounts or requests certificates repeatedly, rate limits are telling you the automation is not safe enough for production.
The small-site default
For a single VM with Nginx or Caddy, use the web server's documented ACME path or Certbot packages that install a timer. For wildcard certificates, prefer a DNS plugin with the smallest possible token scope. Avoid manual certificates unless the site is temporary and someone owns the renewal calendar.