Skip to main content

A Reliable SSL Renewal Process Without Downtime

· 6 min read
Customer Care Engineer

Published on October 18, 2026

A Reliable SSL Renewal Process Without Downtime

The SSL renewal process should begin well before the certificate expires, with the certificate inventory, DNS access, and deployment path already checked. A certificate renewal is usually routine. The outages happen around it: a forgotten subdomain, a validation record added to the wrong DNS zone, or a new certificate installed on one server while traffic still reaches another.

For a production website, treat renewal as a small maintenance change with a rollback plan. Generate or request the replacement certificate, complete validation, install the full certificate chain, reload the relevant web service, and verify what outside visitors actually receive. Done this way, the service stays calm and browsers have no reason to complain.

What the SSL renewal process actually renews​

An SSL certificate is the identity document your server presents during an HTTPS connection. It confirms that visitors reached the intended domain and establishes encrypted communication between their browser and your site.

Renewal does not normally mean changing your website, application, or server IP address. It means replacing the existing certificate with a newly issued certificate before the old one expires. Publicly trusted TLS certificates have limited validity periods, often no more than about 398 days, and many organizations choose shorter terms or automated issuance. The date on the certificate is not a suggestion from the browser. Once it passes, visitors can see an expiration warning even when the site itself is working perfectly.

The renewal method depends on the certificate type and issuer. A paid organization-validated certificate may require confirmation through an approval email, DNS record, or file placed on the website. Automated certificates commonly use ACME validation through HTTP or DNS. The operational goal is the same: prove control of the domain, receive the certificate, and deploy it correctly.

Start with an inventory, not the expiration email​

The first job is finding every endpoint that uses the certificate. A single business may have its main site, www version, customer portal, API, mail server, staging environment, and load balancer using different certificates. An expiration reminder for one hostname is not evidence that all the others are covered.

Check the certificate's subject alternative names, usually called SANs. These show the domains and subdomains included in the certificate. If `www.example.com` is not included, a certificate for `example.com` alone will not protect it. Wildcard certificates cover first-level subdomains such as `shop.example.com`, but they do not automatically cover the root domain or deeper names such as `eu.shop.example.com`.

Also identify where TLS terminates. For a simple VPS, the certificate may live directly in NGINX, Apache, Caddy, or a hosting control panel. In a larger setup, the certificate might be installed on a reverse proxy, CDN, cloud load balancer, Kubernetes ingress controller, or several nodes behind a traffic balancer. Renewing the certificate on the application server does nothing if the proxy in front is still serving the old one. This is not the most beautiful DNS situation sometimes, but it is under control once the traffic path is mapped.

Set internal reminders earlier than the public expiration date. Thirty days is reasonable for a straightforward certificate, while 45 to 60 days gives more room when several teams, external DNS providers, or business validation are involved. Monitoring should alert at more than one point, such as 30, 14, 7, and 3 days remaining. A single email reminder can be filtered, ignored, or sent to someone who left the company last spring.

Choose validation that matches your infrastructure​

Domain control validation is where many renewals pause. The certificate authority needs proof that you control the requested domain. The best method is the one your team can repeat safely.

HTTP validation places a specific file at a specific public URL. It is convenient when the web server is directly reachable on port 80 and serves the correct virtual host. It can fail if traffic is redirected unusually, the site sits behind a restrictive proxy, or a firewall blocks the validation request.

DNS validation requires a TXT record at the domain's DNS provider. It is often the better choice for wildcard certificates and systems that cannot expose an HTTP validation path. It also works well for distributed infrastructure, but DNS propagation must be allowed for. Some DNS changes appear within seconds; others take longer due to TTL settings, provider behavior, and cached resolvers. Do not remove a validation record until issuance is confirmed.

Email validation can work for a small, stable environment, but it is more dependent on mailbox access and approved addresses. If the domain registration contact is outdated or a role mailbox is no longer monitored, the renewal stops there. For business-critical services, DNS or automated ACME validation usually creates fewer human bottlenecks.

Generate the certificate carefully​

For manually managed certificates, generate a certificate signing request, or CSR, using the system where the private key will be stored. The CSR contains the public key and domain details. The private key must remain private. Do not email it, paste it into tickets, or keep it in a shared document named `final-final-use-this-one`.

You can reuse an existing key during renewal, but generating a new private key is generally the safer operational choice. Key rotation limits the impact if an old key was exposed without anyone noticing. The trade-off is simple: a new key requires careful deployment anywhere the certificate is used. For most single-server installations, that extra work is minimal and worth it.

After issuance, download the server certificate and the intermediate certificate chain provided by the certificate authority. Modern web servers often require a full-chain file containing the leaf certificate plus intermediate certificates. Missing intermediates are a classic cause of browser trust errors, especially on older devices or less common clients.

Automated ACME clients can handle key generation, validation, renewal, and installation hooks. Automation is strongly recommended for certificates that can use it, but it still needs monitoring. An automatic renewal task that cannot reach DNS, write to the certificate directory, or reload NGINX is only automatic in a very optimistic sense.

Deploy without interrupting visitors​

Before replacing anything, copy the current certificate and configuration to a protected backup location. Keep the prior certificate, key reference, and known-good configuration available until the new installation is verified. This gives your team a quick rollback path if a chain file, permission setting, or syntax detail is wrong.

Install the new certificate and matching private key in the expected location. Confirm that the web server process can read the files without making the private key broadly readable. On Linux, restrictive ownership and permissions matter. A certificate is public by design; its private key is not.

Validate the web server configuration before reloading it. For NGINX, Apache, HAProxy, and similar services, use the product's configuration test command first. Then reload rather than restart where possible. A reload applies the certificate update while allowing existing worker processes and active connections to finish cleanly. A hard restart may be acceptable in a maintenance window, but it is unnecessary for many common setups.

If the service runs across several servers, deploy consistently across all nodes before or during a controlled rotation. Load balancers can send consecutive browser requests to different backends. If only one node has the new certificate, intermittent warnings may appear, which is a particularly annoying problem because it looks imaginary until it is not.

Verify from outside the server​

Do not stop after the control panel says the installation succeeded. Verify the certificate from an external network and inspect the hostname visitors use. Confirm the common name or SAN coverage, issuer, expiration date, and certificate chain. Check both the root and www hostnames if both are public.

Use a browser as one verification point, but do not rely on a browser alone. It may cache sessions or chain information. Test with a TLS client or external monitoring check that reports the certificate served at the public IP address. For advanced environments, confirm the correct certificate is returned using Server Name Indication, or SNI, for each hosted domain.

Then check the application behavior: log in, submit a form, call an API endpoint, and inspect any third-party callback URLs that use HTTPS. Certificate renewal should not change application behavior, but validation and proxy rules sometimes expose unrelated configuration issues. The logs are telling the same story now when both the external certificate check and the application checks pass.

Make the next renewal boring​

The best SSL renewal process is the one nobody has to rush. Document the certificate owner, renewal method, DNS provider, service location, affected hostnames, and rollback steps. Store this information where the operations team can access it, not only in one person's memory.

For managed servers, certificate monitoring should sit beside uptime, disk, backup, and service checks. An approaching expiration date is an operational signal, not merely an administrative task. At kodu.cloud, this kind of recurring maintenance fits naturally with managed support and monitoring: identify the endpoint early, renew with the right validation method, and confirm the live service afterward.

If your certificate is already close to expiry, start by checking what is currently served to the public, then work inward through DNS, validation, and the server configuration. There is usually a clean path forward. Give the renewal enough time, verify it from outside, and your visitors will only notice that the site continues working as it should.

Andres Saar Customer Care Engineer