«La connessione non è privata», «Avviso: potenziale rischio per la sicurezza», «Questo sito non può fornire una connessione sicura». Sono messaggi che spaventano i visitatori e che, se compaiono sul tuo sito, fanno perdere contatti e vendite. La buona notizia è che quasi sempre hanno una causa precisa e riconoscibile. In questo articolo vediamo come leggere gli errori del certificato nel browser, quali sono le cause più comuni e come risolverle.
Prima regola: leggi il codice dell’errore
Il messaggio principale è generico, ma sotto c’è quasi sempre un codice che dice esattamente cosa non va. In Chrome ed Edge inizia con NET::ERR_ o ERR_SSL_; in Firefox è un codice come SEC_ERROR_... o SSL_ERROR_..., visibile cliccando su Avanzate. Annotalo: è la chiave per capire la causa e, se ci scrivi, ci fa risparmiare molto tempo.
Il certificato è scaduto
Codici tipici: NET::ERR_CERT_DATE_INVALID, SEC_ERROR_EXPIRED_CERTIFICATE.
Il browser ritiene che il certificato non sia valido in questo momento. Le cause possibili sono due, molto diverse:
- il certificato è davvero scaduto: succede quando il rinnovo non è andato a buon fine. Sui piani iWebLab il certificato Let’s Encrypt si rinnova in automatico, ma il rinnovo può fallire se, ad esempio, i DNS del dominio non puntano più correttamente o se una regola personalizzata impedisce la verifica;
- l’orologio del dispositivo è sbagliato: se la data del computer o del telefono di chi visita è errata, anche un certificato valido sembra scaduto o «non ancora valido». In questo caso l’errore compare solo su quel dispositivo e su tutti i siti in HTTPS, non solo sul tuo.
Cosa fare: apri i dettagli del certificato e controlla la data di scadenza. Se è passata, apri un ticket indicando il dominio. Se il certificato è valido ma un singolo visitatore vede l’errore, il problema è quasi certamente l’orologio del suo dispositivo.
Il nome non corrisponde
Codici tipici: NET::ERR_CERT_COMMON_NAME_INVALID, SSL_ERROR_BAD_CERT_DOMAIN.
Il certificato presentato dal server è valido, ma non per l’indirizzo che hai digitato. Capita spesso in questi casi:
- versione con o senza www: il certificato copre
tuodominio.itma nonwww.tuodominio.it, o viceversa, di solito perché uno dei due record DNS non punta al server corretto; - sottodominio nuovo: hai creato
shop.tuodominio.itma il certificato non è ancora stato emesso per quel nome; - dominio appena aggiunto o migrato: il server risponde con il certificato di un altro dominio perché quello nuovo non è ancora pronto;
- indirizzo «tecnico»: stai aprendo il sito tramite un nome che non è il suo (per esempio l’indirizzo del server), per il quale il certificato non è stato emesso.
Cosa fare: controlla nei dettagli del certificato quali nomi copre. Se manca quello che ti serve, verifica che il relativo record DNS punti correttamente e attendi la propagazione; se il problema persiste, apri un ticket.
Il certificato non è attendibile
Codici tipici: NET::ERR_CERT_AUTHORITY_INVALID, SEC_ERROR_UNKNOWN_ISSUER.
Il browser non riesce a ricondurre il certificato a un’autorità di cui si fida. Le cause più comuni:
- certificato autofirmato: un certificato generato in automatico come segnaposto, non emesso da un’autorità riconosciuta. Può comparire, in generale, quando il certificato definitivo non è ancora stato emesso;
- catena incompleta: il certificato commerciale è stato installato senza i certificati intermedi dell’autorità. Alcuni browser lo accettano lo stesso, altri (spesso su dispositivi mobili) no;
- ispezione HTTPS: alcuni antivirus, firewall aziendali o reti pubbliche intercettano le connessioni cifrate e le «ricifrano» con un proprio certificato. Se l’errore compare solo da una certa rete o da un certo computer, la causa è probabilmente lì.
Cosa fare: se l’errore lo vedono tutti, apri un ticket. Se compare solo su una rete o su un dispositivo, prova da un’altra connessione (ad esempio dal telefono con la rete mobile) per capire se il problema è locale.
Errore di protocollo o connessione non sicura
Codici tipici: ERR_SSL_PROTOCOL_ERROR, ERR_SSL_VERSION_OR_CIPHER_MISMATCH, SSL_ERROR_NO_CYPHER_OVERLAP.
Browser e server non riescono ad accordarsi su come cifrare la connessione. Può succedere con dispositivi e browser molto vecchi, che non supportano i protocolli moderni, oppure per un problema di configurazione temporaneo. Se l’errore compare solo su un vecchio dispositivo, l’unica soluzione è aggiornare il browser o il sistema operativo. Se compare ovunque, apri un ticket.
«Troppi reindirizzamenti»
Codice tipico: ERR_TOO_MANY_REDIRECTS.
Non è un errore del certificato, ma compare spesso subito dopo il passaggio a HTTPS. Significa che due regole si rimbalzano il visitatore all’infinito: per esempio un reindirizzamento nel .htaccess e uno in un plugin, o un indirizzo del sito impostato in http:// nel CMS mentre il server forza https://. Rimuovi l’ultima modifica fatta e ricontrolla le impostazioni dell’indirizzo del sito. Se il sito è sotto la rete iWebLab Edge, ricorda che anche un reindirizzamento può essere memorizzato nella cache: in caso di dubbio, apri un ticket.
Il lucchetto c’è ma «non del tutto»
Se la pagina si apre ma il browser segnala che la connessione «non è completamente sicura», o il lucchetto non compare, il certificato è a posto: il problema sono i contenuti misti, cioè immagini, script o fogli di stile caricati in http://. Li trovi nella console del browser (tasto F12, scheda Console) e li elimini come spiegato nell’articolo dedicato.
Quando non puoi nemmeno «procedere comunque»
Normalmente il browser permette di ignorare l’avviso a proprio rischio. Se invece il pulsante per proseguire non c’è, è probabile che il sito usi HSTS, un’intestazione che impone al browser di accettare solo connessioni sicure e valide. È un comportamento voluto: in questo caso l’unica strada è risolvere il problema del certificato. Ne parliamo nell’articolo su HSTS e le altre intestazioni di sicurezza.
Una regola importante per i tuoi visitatori
Non chiedere mai ai clienti di «ignorare l’avviso e proseguire». Oltre a dare un’immagine poco professionale, li abitua a un comportamento rischioso. Se il tuo sito mostra un errore del certificato, va risolto alla fonte.
Prima di aprire un ticket: le informazioni utili
Per aiutarci a trovare subito la causa, indica nel ticket:
- l’indirizzo esatto che dà l’errore (con o senza
www, con il percorso); - il codice dell’errore o uno screenshot della pagina di avviso;
- browser e dispositivo usati, e se l’errore compare anche da un’altra rete;
- da quando si presenta e se hai fatto modifiche di recente (DNS,
.htaccess, plugin, migrazione).
Apri il ticket dall’area clienti. Se sospetti un problema più generale, puoi controllare anche la pagina dello stato dei servizi.
In sintesi
Ogni errore del certificato ha un codice che ne indica la causa: data, nome, attendibilità o protocollo. Sui piani iWebLab il certificato Let’s Encrypt viene emesso e rinnovato in automatico su ogni dominio, quindi nella maggior parte dei casi l’origine del problema è un DNS che non punta dove dovrebbe, un dominio appena aggiunto o una configurazione locale del visitatore. Leggi il codice, fai una prova da un’altra rete e, se serve, scrivici con i dettagli.