Torna al blog

Certificato SSL scaduto - cosa fare

· 6 min di lettura

In breve: La scadenza di un certificato SSL fa sì che i browser blocchino l'accesso con il messaggio "La connessione non è privata". La conversione crolla a zero finché non rinnovi il certificato. Questo articolo è una procedura rapida su cosa fare subito e come prevenire.

In breve: La scadenza di un certificato SSL fa sì che i browser blocchino l'accesso con il messaggio "La connessione non è privata". La conversione crolla a zero finché non rinnovi il certificato. Questo articolo è una procedura rapida su cosa fare subito e come prevenire.

Cosa vede il visitatore

Un certificato scaduto innesca un avviso a tutto schermo nel browser:

  • Chrome / Edge: "Your connection is not private" (NET::ERR_CERT_DATE_INVALID)
  • Firefox: "Warning: Potential Security Risk Ahead" (SEC_ERROR_EXPIRED_CERTIFICATE)
  • Safari: "This Connection Is Not Private"

Un visitatore normale clicca "Indietro". Oltre il 95 % del traffico organico semplicemente se ne va. I bot crawler (Googlebot, Bingbot) smettono di indicizzare e dopo qualche giorno inizi a perdere posizioni nella ricerca.

Procedura se è appena scaduto

  1. Identifica chi ha emesso il cert. Nel terminale: openssl s_client -connect mywebsite.com:443 -servername mywebsite.com < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates
  2. Let's Encrypt (gratis, validità 90 giorni): tipicamente tramite certbot renew o via il pannello dell'hosting (One-click renewal).
  3. Cert commerciale (DigiCert, Sectigo, GlobalSign): accedi al pannello admin dell'emittente, genera un nuovo CSR, passa la validazione del dominio (DNS TXT o email).
  4. Distribuisci il nuovo cert al reverse proxy (nginx, Caddy, Traefik) e riavvia / ricarica il processo.
  5. Verifica tramite SSL Labs o tramite il nostro strumento SSL check, che il cert sia servito correttamente e la chain sia completa.

Attenzione: Non dimenticare il cert intermedio - senza di esso i browser moderni possono recuperare la chain tramite AIA, ma client più vecchi e alcune librerie API falliranno.

Rinnovo automatico: Let's Encrypt + certbot

La prevenzione più semplice è automatizzare completamente il rinnovo. Il cert Let's Encrypt si rinnova ogni 90 giorni tramite certbot:

# /etc/cron.d/certbot-renew
0 3 * * * root certbot renew --quiet --deploy-hook "systemctl reload nginx"

Questo cron gira ogni giorno alle 3:00 del mattino. Certbot internamente controlla se il cert si avvicina alla scadenza (di default 30 giorni in anticipo). Se sì, lo rinnova e in caso di successo ricarica nginx. Altrimenti non fa niente.

Caddy e Traefik: completamente automatico

Se usi Caddy o Traefik come reverse proxy, l'ACME challenge è integrato nel binario. Basta segnare il dominio nel config e il server richiede e rinnova il cert da solo:

# Caddyfile
mywebsite.com {
  reverse_proxy localhost:3000
}

Niente certbot, niente cron. Caddy chiama in background l'API di Let's Encrypt e gestisce il ciclo di rinnovo.

Cert commerciali: validità 1-3 anni

Da settembre 2020 tutti i cert pubblicamente affidabili hanno una vita massima di 397 giorni (CA/B Forum baseline). Alcune aziende preferiscono ancora CA commerciali per:

  • Extended Validation (EV) mostra l'organizzazione nella barra degli indirizzi (Chrome non la visualizza in modo prominente dal 2019).
  • Wildcard per molti sottodomini anche se Let's Encrypt ora supporta wildcards tramite DNS-01.
  • Garanzia responsabilità finanziaria della CA in caso di compromise.
  • Conformità / audit alcuni settori hanno requisiti esterni.

Per la maggior parte dei siti Let's Encrypt o un'altra CA gratuita (ZeroSSL, Buypass) bastano.

Monitoraggio della scadenza come rete di sicurezza

Anche con il rinnovo automatico, il monitoraggio della scadenza funziona come assicurazione. Il rinnovo può fallire per:

  • Rate limit da parte della CA (Let's Encrypt: 5 duplicati / 7 giorni)
  • Cambio DNS che rompe l'ACME challenge
  • Regola firewall che blocca la porta 80 (HTTP-01 challenge)
  • Crash del processo certbot o del cron che nessuno ha notato

ePulz.io segue la scadenza di ogni endpoint monitorato e invia avviso 30, 14, 7, 3 e 1 giorno prima della fine validità. Basta un segnale verde che il cert si è rinnovato in tempo - e hai la certezza che l'automazione funziona.

Attiva il monitoraggio SSL

Avvisi 30/14/7/3/1 giorni prima della scadenza. Senza configurazione, senza modifiche DNS. 7 giorni gratis.

Avvia monitoraggio →


Prova ePulz.io gratis - 7 giorni senza carta di credito.

Crea account