Let's Encrypt Profiles Put Your Renewal Setup to the Test

Illustrated infographic summarizing: Let's Encrypt Profiles Put Renewal Assumptions Under the Microscope

By Greg Nowak. Last updated 2026-09-25.

Let’s Encrypt’s certificate profiles are easy to treat as PKI detail. For a business owner, operations lead, or agency, they are better understood as a test of whether certificate renewal is genuinely automated.

As of 25 September 2026, the default classic profile still produces 90-day certificates. However, tlsserver now produces 45-day certificates, shortlived lasts just 160 hours, and tlsclient is no longer available. More importantly, the default certificate lifetime is scheduled to shorten in 2027 and again in 2028. A process that depends on a long recovery window is therefore living on borrowed time.

What changed—and what happens next

The May 2026 rollout made the opt-in tlsserver profile shorter-lived and moved certificate issuance onto Let’s Encrypt’s Generation Y intermediates. The intermediate change was briefly delayed while corrected cross-signed certificates were prepared, then completed later that month.

The change did not suddenly shorten every Let’s Encrypt certificate. But the direction is clear: the default classic profile is scheduled to move from 90 days to 64 days on 10 February 2027, then to 45 days on 16 February 2028. Teams should use the remaining time to remove manual steps, not simply update an expiry calendar.

Certificate profiles are also operational-readiness choices.
Profile Validity Sensible use Operational implication
classic 90 days today Most ordinary websites and services Default, but scheduled to shorten from 2027.
tlsserver 45 days Teams confident in end-to-end automation Less time to notice and repair a failed renewal.
shortlived 160 hours Highly automated or specialist deployments Failures require rapid detection and response.
tlsclient Unavailable No new use Existing client-auth designs need another issuer or approach.

A successful renewal is not the same as a safe deployment

There are several separate stages: the scheduler must run, the ACME client must validate control, the certificate must be issued, the files must reach the right host, and the service or load balancer must load them. Monitoring only the certificate files on disk can miss the most commercially important failure: customers are still receiving an old certificate from the public endpoint.

This distinction matters in agency estates. A certificate might be managed by Certbot on one VPS, by a hosting panel elsewhere, and by a CDN or load balancer for a third client. Record ownership as well as configuration: who receives an alert, who can change DNS, and who is expected to respond outside office hours?

Choose the challenge that fits the real network

HTTP-01 is usually the simplest choice when the hostname is publicly reachable. It works only through port 80, cannot issue wildcard certificates, and may be checked repeatedly from different locations. With several web servers, every possible responder must make the challenge file available. Redirects, CDN rules, stale webroots, and inconsistent cluster nodes are common weak points.

DNS-01 supports wildcard certificates and works when origins are not publicly exposed. It should normally be automated through a DNS provider’s API. Use narrowly scoped credentials where the provider permits it; placing credentials with broad DNS control on a public web server increases the impact of a compromise. Delegating the _acme-challenge name to a separate validation zone can help isolate that access.

Run an end-to-end Certbot review

On a Certbot-managed host, start by identifying what Certbot actually owns:

certbot certificates

Then confirm that renewal is scheduled. Depending on the installation, inspect systemd timers with systemctl list-timers and check system or application crontabs for certbot renew. Do not assume that installing Certbot created the expected schedule on every machine.

Test the stored renewal configuration against Let’s Encrypt’s staging service:

certbot renew --dry-run --run-deploy-hooks

The second flag tests applicable deployment hooks after a successful dry run. There is an important limitation: Certbot runs those hooks with the current active certificate, not the temporary staging certificate. This proves that the hook can execute; it does not prove that a newly issued certificate has reached every production endpoint.

After a real renewal, inspect what an external client receives. Replace the example hostname in this command:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates

Compare the result with the certificate Certbot reports. Repeat the check for important hostnames, alternate load-balancer routes, and any service that terminates TLS away from the origin. Add expiry monitoring against those public endpoints and, where appropriate, monitor Certificate Transparency for unexpected issuance.

Be deliberate when selecting a profile

Current Certbot versions distinguish between --preferred-profile and --required-profile. A preferred profile falls back to the certificate authority’s default if the requested profile is no longer advertised. A required profile fails instead. The fallback is usually safer for business continuity; the strict option belongs in environments where receiving a different profile would breach an explicit technical policy.

A profile setting cannot repair a broken webroot, manual DNS update, expired API token, or missing service reload. The useful outcome of this change is therefore not a more elaborate certificate policy. It is a short, documented path from scheduled renewal to a verified certificate on the public service.

Turn certificate renewal into owned operations

If certificates span several hosts, client accounts, panels, or historical fixes, a focused review can map ownership, remove manual dependencies, test renewal safely, and establish useful alerts. Greg can help coordinate that work across technical and business stakeholders without turning it into a larger infrastructure project than necessary. Talk to Greg about reviewing your certificate operations.

Related on GrN.dk

Need help with this kind of work?

Discuss your certificate renewal setup Get in touch with Greg.

Sources

Latest articles

Plan your PHP upgrade around checkout, enquiries and daily operations, with practical checks for compatibility, staging, deployment and rollback before support ends.

Claude Sonnet 4.5 has a tentative November 30 retirement date. Find affected workflows, check compatibility and test a supported replacement before switching.

Before closing an Apache patch ticket, check what is running, which fixes the package contains, and whether the updated service passes configuration and application checks.

Make monthly reporting easier to repeat with AI for Excel, Python and consistent checks. Get imports, error lists and reconciliation under control so the numbers can be verified.

A supplier PDF can influence more than an AI summary. Follow its path to a CRM update and see where validation, tool permissions and destination controls matter.

Check whether AI shopping channels show the right product, variant, price and availability, then trace discrepancies from your catalog through to checkout.

Add approved hours from Clockify to draft invoices in Dinero. AI writes service descriptions, while fixed rules govern amounts, approvals and reruns.

A blanket AI restriction can limit search discovery. Compare Google and Bing controls, agree content permissions, and check what your CMS actually delivers.

Measure AI automation costs per accepted result, including retries and human review. Check caching, batch processing and spending controls before scaling.

A 502 after maintenance can interrupt enquiries or checkout. Trace the NGINX-to-PHP connection, diagnose the failure, and check the fix survives a restart.