Automating Let’s Encrypt certificate renewal
Ninety-day certificates make renewal automation necessary. The important control is proving that a renewed certificate reaches every serving process before the existing certificate expires.
Choose and protect validation
Use an ACME challenge compatible with the hosting topology. Ensure redirects, proxies and multiple front ends serve the challenge consistently, and constrain DNS credentials if DNS validation is required.
Deploy after renewal
Reload or restart each TLS terminator safely after obtaining the certificate, including secondary nodes and containers. Validate the served serial and chain externally rather than trusting the file timestamp on one host.
Monitor the outcome
Alert on days remaining at the public endpoint and on repeated renewal failures. Run dry-run renewal after configuration changes and retain enough logs to distinguish rate limiting, challenge routing and account failures.
A successful cron exit does not prove that the load balancer, web server or mail service is presenting the renewed certificate.