Configurare un certificato SSL (Secure Sockets Layer) per il tuo sito web non è mai stato così facile. Puoi generare certificati gratuitamente e molti provider di hosting li configureranno anche per te. Tuttavia, se non configuri correttamente il tuo certificato, potresti riscontrare errori come “SSL Handshake Failed”.

L’errore “SSL Handshake Failed” viene visualizzato quando il browser e il server non sono in grado di stabilire una connessione sicura. Questo articolo spiegherà cos’è un handshake SSL e cosa fare se non riesci a stabilirne uno.

Incominciamo!

Che cos’è un handshake SSL?

Come forse saprai, un certificato SSL convalida “l’identità” del tuo sito web. Lo fa utilizzando una chiave criptata che il tuo browser controlla per assicurarsi che il certificato sia valido. Una volta stabilita una connessione, il tuo browser può decriptare il contenuto che il server gli invia.

Questo processo è chiamato “handshake”. Ecco come funziona in modo più dettagliato:

  1. Visiti un sito web con un certificato SSL e il tuo browser invia una richiesta di dati.
  2. Il server invia al browser una chiave pubblica criptata.
  3. Il tuo browser controlla quella chiave e invia la sua chiave criptata al server.
  4. Il server decripta la chiave e invia il contenuto criptato al browser.
  5. Il tuo browser decripta il contenuto (quindi completando l’handshake).

Tutto questo avviene in pochi secondi. I certificati SSL e il protocollo HTTPS consentono al tuo sito web di trasmettere dati in modo sicuro, senza influire negativamente sulle prestazioni. Ciò rende un certificato SSL vitale per qualsiasi sito web. Tuttavia, come qualsiasi elemento del tuo sito, può occasionalmente creare problemi.

Quali sono le cause dell’errore “SSL Handshake Failed”

L’errore “SSSL Handshake Failed” ti dice esattamente qual è il problema. Viene visualizzato quando il tuo browser non riesce a stabilire una connessione con un sito web che dispone di un certificato SSL:

Errore SSL handshake failed

In questo esempio da un sito web che utilizza Cloudflare , puoi vedere che l’errore “SSL handshake failed” corrisponde al codice “525”. Pertanto, l’errore può derivare da problemi sia lato server che lato client.

Le cause più comuni dell’errore “SSL Handshake Failed” includono:

  1. Il tuo dispositivo locale ha la data o l’ora sbagliate
  2. Il browser non supporta l’ultimo protocollo SSL
  3. Il tuo certificato SSL non è valido
  4. Si è verificato un problema con la configurazione dell’identificazione del nome del server (SNI)
  5. C’è un problema con la tua Content Delivery Network (CDN) , come Cloudflare

Tale elenco include due problemi locali, due relativi al server del tuo sito web e uno specifico per un servizio di terze parti. Nelle prossime sezioni, esploreremo come affrontare ciascuno di essi.

Come correggere l’errore “SSL Handshake Failed” (5 metodi)

Inizieremo mostrandoti come risolvere i problemi lato client che possono causare l’errore “SSL Handshake Failed”. Queste soluzioni sono piuttosto semplici. Nel caso in cui non funzionino, passeremo a soluzioni più tecniche.

1. Aggiorna la data e l’ora del tuo dispositivo locale

Quando il tuo browser tenta di stabilire un handshake SSL, verifica il certificato rispetto alla data e all’ora del tuo computer. Lo fa per verificare che il certificato SSL sia ancora valido.

Se la data e l’ora del tuo dispositivo locale sono disattivate, ciò può causare errori durante il processo di verifica (ad esempio, nessun handshake). Fortunatamente, questo è un problema con una semplice soluzione.

Su un dispositivo Windows, apri il menu Start  e digita Impostazioni data e ora . Seleziona l’opzione che appare e si aprirà una nuova finestra. Abilita l’impostazione Imposta fuso orario automaticamente e accertati che il tuo fuso orario sia corretto.

Configurazione di Windows per impostare l'ora automaticamente

Verifica che la data sia corretta, quindi prova a ricaricare il sito web.

Ecco come correggere la data e l’ora su altri sistemi operativi (SO):

Se la correzione della data e dell’ora sul dispositivo locale non risolve il problema, puoi passare alla correzione successiva.

2. Assicurati che il tuo browser supporti l’ultimo protocollo TLS

In alcuni casi, potresti incorrere nell’errore “SSL Handshake Failed” a causa di problemi con il tuo browser. Il problema più comune è che il tuo browser non supporta il protocollo Transport Layer Security (TLS) utilizzato dal tuo certificato.

Per dirla semplicemente, sia SSL che TLS sono protocolli di autenticazione e il tuo certificato potrebbe utilizzarne uno. I browser moderni supportano entrambi i protocolli, ma le loro versioni precedenti potrebbero non essere compatibili..

Il modo più semplice per determinare se il tuo browser sta causando il problema è utilizzarne un altro. Se l’errore “SSL Handshake Failed” non viene visualizzato in altri browser, il problema potrebbe essere nel browser originale.

Per risolvere questo problema in Windows, apri il menu Start  e digita Opzioni Internet . Seleziona l’opzione che appare e vai alla scheda Avanzate . Scorri l’elenco delle impostazioni fino a trovare le opzioni che corrispondono alle impostazioni SSL e TLS:

Configurazione dei protocolli TLS supportati dalla tua connessione

Dovresti deselezionare la casella per SSL 3 e 2 (se vedi queste opzioni). Devi solo selezionare le caselle per TLS 1, 1.1 e 1.2.

Quindi salva le modifiche alle tue opzioni Internet e prova ad accedere nuovamente al sito web. Tieni presente che se utilizzi macOS o iOS, TLS 1.2 dovrebbe essere abilitato per impostazione predefinita.

3. Accertati che il tuo certificato SSL sia valido

I certificati SSL hanno date di scadenza. Questa è una funzione integrata che ti costringe a rinnovare il certificato a un certo punto e a convalidare la proprietà del tuo dominio.

Se il tuo certificato SSL scade, il tuo browser non sarà in grado di stabilire una handshake. A seconda del provider del tuo certificato SSL, probabilmente riceverai le notifiche molto prima della scadenza in modo da poterlo rinnovare.

Anche così, non fa male controllare se non sei sicuro della data di scadenza del tuo certificato. Puoi utilizzare uno strumento come SSL Server Test per farlo:

Il servizio SSL Server Test

Il servizio restituirà diverse informazioni sul certificato SSL del tuo sito web. Se il certificato è scaduto, vedrai quando è scaduta la sua validità:

Verifica se il tuo certificato SSL è scaduto

In questo caso, dovrai riemettere e installare il certificato SSL sul tuo sito web. A seconda di chi è il tuo provider di hosting, potrebbe essere in grado di aiutarti in questo processo.

4. Controlla la configurazione dell’identificazione del nome del server (SNI) del tuo server

Se stai utilizzando un hosting condiviso per ospitare il tuo sito web, puoi incorrere in problemi con più certificati SSL. I provider di hosting utilizzano la corretta configurazione SNI (Server Name Identification) per garantire che quando i visitatori tentano di accedere al tuo sito, ottengano il certificato SSL corretto (e non uno da un’altra proprietà).

In generale, i provider di hosting più affidabili non presenteranno alcun problema con la configurazione SNI. Inoltre, se non stai utilizzando un hosting condiviso puoi passare alla correzione successiva.

Se vuoi essere sicuro al 100% che il tuo provider di hosting non presenti problemi con la configurazione SNI, puoi contattare il supporto per assistenza. Su sei su un hosting condiviso, non potrai accedere direttamente a questa configurazione. Se questo risulta essere il problema, potresti prendere in considerazione l’aggiornamento a un piano di hosting più affidabile.

5. Metti in pausa Cloudflare per testare il tuo certificato SSL

Se stai utilizzando Cloudflare, l’errore “SSL Handshake Failed” può essere dovuto a un problema con la sua connessione al tuo sito web. Il modo più semplice per verificarlo è disabilitare temporaneamente la CDN.

Cloudflare offre una funzione di “pausa” che puoi utilizzare per disabilitare il servizio in qualsiasi momento. Dopo averlo fatto, ti consigliamo di svuotare la cache del browser prima di provare ad accedere nuovamente al tuo sito web.

Se l’errore di handshake SSL è scomparso, ti consigliamo di contattare Cloudflare per vedere quale potrebbe essere il problema. Mentre aspetti una risposta, tieni la CDN disabilitata in modo che gli utenti possano accedere al tuo sito web. D’altra parte, se l’errore SSL persiste, significa che probabilmente è dovuto a un errore con la configurazione del tuo server (vedi sopra).

Conclusione

L’errore “SSSL Handshake Failed” è relativamente facile da correggere, purché si sappia quali sono le sue potenziali cause. Potrebbe essere dovuto a un problema con le impostazioni del dispositivo locale, la configurazione del server o la CDN .

Ecco cosa dovresti fare per correggere l’errore “SSL Handshake Failed”:

  1. Aggiorna la data e l’ora del tuo dispositivo locale.
  2. Accertati che il tuo browser supporti il ​​protocollo TLS più recente.
  3. Accertati che il tuo certificato SSL sia valido.
  4. Controlla la configurazione SNI del tuo server.
  5. Metti in pausa Cloudflare per testare il tuo certificato SSL.

Buon lavoro!