TL;DR: L’errore SSL Handshake Failed compare quando browser e server non riescono a concordare le impostazioni di sicurezza necessarie ad aprire una connessione crittografata. Le cause più comuni sono un certificato SSL scaduto, un orologio del dispositivo errato, un browser obsoleto o una mancata corrispondenza della versione del protocollo TLS. Se l’errore compare su tutti i siti HTTPS, inizia dalla Correzione 1 (data e ora). Se è limitato a un solo sito, inizia dalla Correzione 2 (verifica del certificato).
Contents
- Cause comuni dell’errore SSL Handshake Failed
- Come diagnosticare il problema
- I 5 modi più semplici per risolvere l’errore "SSL Handshake Failed"
- Problemi di configurazione SSL lato server
- Correzioni specifiche per WordPress per SSL Handshake Failed
- Cosa fare se nessuna delle correzioni funziona
- Conclusione
- Articoli correlati
Cause comuni dell’errore SSL Handshake Failed
L’handshake SSL/TLS è una breve negoziazione che avviene prima di ogni connessione HTTPS. Il tuo browser e il server devono concordare su una versione del protocollo, una suite di cifratura e la validità del certificato del server. Quando una qualsiasi parte di questa negoziazione si interrompe, la connessione non può essere stabilita. I motivi più comuni includono:
- Impostazioni di data e ora errate: i certificati SSL sono validi solo all’interno di una finestra temporale fissa. Se l’orologio del tuo dispositivo è sbagliato anche solo di poche ore, il browser considera il certificato come scaduto o non ancora valido, anche se il certificato stesso è corretto.
- Browser obsoleto: i browser che non supportano le versioni TLS o le suite di cifratura moderne non possono connettersi ai server che le richiedono. Le estensioni del browser che intercettano il traffico possono produrre lo stesso risultato.
- Certificato SSL scaduto o non corrispondente: un certificato che ha superato la data di scadenza, o emesso per il dominio sbagliato, causa immediatamente il fallimento dell’handshake.
- Mancata corrispondenza della versione del protocollo: client e server devono concordare su una versione di TLS. I server che utilizzano ancora TLS 1.0 o 1.1 vengono rifiutati da tutti i browser attuali, che richiedono almeno TLS 1.2. Dai ticket di supporto di WP STAGING, le configurazioni TLS del server obsolete sono tra le cause lato server più frequenti che incontriamo.
- Mancata corrispondenza della suite di cifratura: anche quando le versioni TLS coincidono, il server deve offrire almeno una suite di cifratura accettata dal browser. I server più vecchi con un elenco di cifrari breve o deprecato incontrano spesso questo ostacolo senza alcun errore evidente lato server.
- Interferenza di firewall o antivirus: alcuni software di sicurezza intercettano le connessioni HTTPS e le firmano nuovamente con un proprio certificato. Se quel certificato non è considerato attendibile dal browser, o se il processo di ispezione rimuove le suite di cifratura, l’handshake fallisce.
Come diagnosticare il problema
Associare il sintomo alla causa più probabile prima di applicare le correzioni fa risparmiare molto tempo:
| Sintomo | Causa più probabile | Prima correzione |
|---|---|---|
| Errore su tutti i siti HTTPS | Orologio del dispositivo errato o browser non aggiornato | Correzione 1 (data/ora) o Correzione 3 (aggiornamento del browser) |
| Errore solo su un sito specifico | Certificato scaduto o mal configurato su quel server | Correzione 2 (verifica del certificato) |
| Errore comparso dopo l’installazione di un’estensione del browser | Estensione che intercetta il traffico SSL | Correzione 5 (disattiva le estensioni) |
| Errore in un solo browser, non negli altri | Impostazione TLS del browser o versione obsoleta | Correzione 3 (aggiornamento del browser) |
| Errore dopo il passaggio di WordPress a HTTPS | WordPress non completamente configurato per HTTPS | Correzioni specifiche per WordPress qui sotto |
| I tuoi visitatori segnalano l’errore sul tuo sito | Problema di TLS o certificato lato server | Esegui un test SSL del server |
Per i problemi lato server, il Qualys SSL Labs Server Test analizza gratuitamente il tuo dominio, valuta la tua configurazione TLS ed elenca ogni problema di certificato e cifratura che rileva. Nei nostri test con WP STAGING, eseguire questo test è il modo più rapido per confermare se il problema è lato server o lato client.
I 5 modi più semplici per risolvere l’errore "SSL Handshake Failed"
- Controlla le impostazioni di data e ora
- Verifica che il certificato SSL sia ancora valido
- Aggiorna il browser
- Controlla il supporto dei protocolli TLS/SSL
- Disattiva le estensioni del browser
1. Controlla le impostazioni di data e ora
L’errore "SSL Handshake Failed" è spesso dovuto a impostazioni di data e ora errate sul tuo dispositivo. I certificati SSL si basano su un’ora precisa, quindi un orologio sbagliato può interrompere la connessione sicura. Ecco come risolvere:
Fai clic destro sull’ora e sulla data nella barra delle applicazioni e seleziona "Modifica data/ora".

Attiva questa funzione per consentire a Windows di impostare automaticamente l’ora in base al fuso orario. Per la sincronizzazione manuale, fai clic su "Sincronizza ora" sotto "Sincronizza l’orologio".

2. Verifica che il certificato SSL sia ancora valido
Un certificato SSL scaduto o non valido è una causa diretta dell’errore "SSL Handshake Failed". Per garantire un handshake riuscito, verifica che il certificato sia valido e installato per il dominio corretto. Ecco come controllarlo:
Vai sul sito interessato in un qualsiasi browser, fai clic sull’icona delle informazioni del sito nella barra degli indirizzi e seleziona "La connessione è sicura".

Successivamente, fai clic su "Il certificato è valido".

Nel Visualizzatore certificati, individua la sezione "Periodo di validità" e controlla la data di scadenza.

Se il certificato è scaduto, rinnovalo tramite il tuo provider di certificati SSL. Se il nome di dominio sul certificato non corrisponde all’URL del tuo sito, il certificato deve essere riemesso per il dominio corretto.
3. Aggiorna il browser
Un browser obsoleto potrebbe non supportare le versioni TLS o le suite di cifratura attuali, il che causa fallimenti dell’handshake sui server che hanno deprecato i protocolli più vecchi. Apri le impostazioni del browser, individua l’opzione di aggiornamento, installa gli aggiornamenti disponibili e poi riavvia il browser.

Abbiamo osservato questa correzione risolvere l’errore nei casi in cui un server aveva recentemente alzato il proprio requisito TLS minimo e il browser client non era stato aggiornato di conseguenza.
4. Controlla il supporto dei protocolli TLS/SSL
L’errore "SSL Handshake Failed" può verificarsi se il browser o il server è configurato per una versione TLS incompatibile. TLS 1.2 e TLS 1.3 sono gli standard attuali e la maggior parte dei browser moderni li supporta automaticamente.
Se utilizzi una versione più vecchia di Firefox, digita about:config nella barra degli indirizzi, cerca security.tls.version.min e verifica che il valore sia 3 (corrispondente a TLS 1.2).

Se gestisci il tuo server, verifica che TLS 1.2 e 1.3 siano abilitati nelle impostazioni SSL/TLS del pannello di controllo del tuo hosting e che TLS 1.0 e 1.1 siano disabilitati. In caso di dubbi, chiedi al tuo provider di hosting.
5. Disattiva le estensioni del browser
Le estensioni del browser che gestiscono sicurezza o privacy possono interferire con le connessioni SSL intercettando o modificando il traffico crittografato. Per verificare se un’estensione è la causa del problema:
Vai nelle impostazioni del browser e raggiungi la sezione estensioni o componenti aggiuntivi.

Disattiva temporaneamente tutte le estensioni.

Visita il sito interessato. Se l’errore scompare, riattiva le estensioni una alla volta, testando dopo ognuna, per individuare quella in conflitto. Le estensioni VPN e gli ad-blocker che eseguono l’ispezione HTTPS sono i responsabili più comuni.
Problemi di configurazione SSL lato server
Se gestisci il server e le cinque correzioni lato client non hanno risolto l’errore, il problema è probabilmente nella configurazione TLS del server. Le cause lato server più comuni:
Supporto di versioni TLS obsolete. I server configurati per accettare solo TLS 1.0 o 1.1 verranno rifiutati da tutti i browser attuali. In Apache, abilita i protocolli moderni con SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1. In Nginx, usa ssl_protocols TLSv1.2 TLSv1.3;. La maggior parte dei pannelli di controllo degli hosting gestiti dispone di un interruttore grafico per questo nella sezione SSL/TLS.
Suite di cifratura deboli o incompatibili. Se il tuo server offre solo suite di cifratura deprecate (RC4, 3DES, cifrari di livello export), il browser rifiuta l’intero elenco e l’handshake fallisce senza un errore chiaro. Aggiorna la configurazione delle suite di cifratura del server per dare priorità alle attuali suite AEAD. Eseguire il test Qualys SSL Labs sul tuo dominio ti fornisce un elenco specifico di ciò che il server offre attualmente e degli elementi da rimuovere.
Catena di certificati incompleta. Il tuo certificato SSL deve essere fornito con tutti i certificati intermedi nell’ordine corretto. Se mancano gli intermedi, alcuni browser non riescono a verificare il certificato e l’handshake fallisce. La maggior parte dei provider di certificati fornisce un file bundle che include l’intera catena; installa il bundle anziché il solo certificato foglia.
Problemi di reindirizzamento dopo una migrazione. Se hai spostato di recente il tuo sito da HTTP a HTTPS, una regola di reindirizzamento obsoleta in .htaccess o nella configurazione del server può produrre un loop che il browser mostra come un errore di connessione anziché di reindirizzamento. Rivedi le regole di reindirizzamento dopo ogni migrazione a HTTPS.
Correzioni specifiche per WordPress per SSL Handshake Failed
Quando l’errore compare specificamente su un sito WordPress, questi passaggi affrontano le cause più comuni a livello di WordPress:
Forza HTTPS in wp-config.php. Dopo aver installato un certificato SSL, WordPress potrebbe ancora servire l’area di amministrazione e la pagina di login tramite HTTP. Aggiungi queste righe a wp-config.php prima del commento /* That's all, stop editing! */:
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
Aggiorna anche Impostazioni > Generali in modo che sia l’Indirizzo WordPress sia l’Indirizzo del sito utilizzino https://.
Risolvi il contenuto misto. Una pagina servita tramite HTTPS che carica immagini, script o fogli di stile tramite HTTP genera avvisi del browser che possono sembrare errori di handshake. Usa gli strumenti per sviluppatori del browser (scheda Rete, filtra per HTTP) per individuare le risorse a contenuto misto, quindi aggiorna i loro URL affinché utilizzino HTTPS.
Disattiva temporaneamente i plugin di gestione SSL. I plugin che forzano i reindirizzamenti HTTPS possono entrare in conflitto con la configurazione SSL del tuo provider di hosting. Disattivali uno alla volta e testa dopo ognuno.
Aggiorna l’URL del sito nel database dopo una migrazione. Se hai migrato WordPress usando WP STAGING e il database contiene ancora il vecchio indirizzo HTTP, possono verificarsi loop di reindirizzamento. Usa WP-CLI per aggiornare:
wp search-replace 'http://yoursite.com' 'https://yoursite.com' --skip-columns=guid
Nella nostra esperienza con WP STAGING, un http:// dimenticato nel database è una delle fonti più comuni di errori legati a SSL subito dopo una migrazione.
Cosa fare se nessuna delle correzioni funziona
Se hai applicato tutte le correzioni sopra e l’errore persiste, segui questo percorso decisionale:
Errore su un server che gestisci tu:
- Esegui il Qualys SSL Labs Server Test sul tuo dominio e rivedi ogni elemento segnalato nel report.
- Contatta il tuo provider di hosting con il report SSL Labs. La maggior parte degli host gestiti può risolvere i problemi di configurazione TLS dalla propria parte senza richiederti l’accesso al server.
- Se hai accesso diretto al server, cerca nel log degli errori del server web le voci
SSL_do_handshakeohandshake failure. Queste indicano l’esatta versione del protocollo o la suite di cifratura che non è stato possibile negoziare.
Errore su un sito che non è tuo:
- Prova il sito su una rete diversa, ad esempio passando dal Wi-Fi ai dati mobili o disattivando una VPN. Un firewall aziendale o un proxy che intercetta può rimuovere o sostituire i certificati, facendo fallire l’handshake solo dalla tua parte.
- Svuota lo stato SSL del browser. In Chrome: Impostazioni > Privacy e sicurezza > Sicurezza > Gestisci certificati > Cancella stato SSL.
- Se l’errore è limitato alla tua rete, contatta l’amministratore di rete o IT. La causa è probabilmente un proxy o un firewall.
- Se nessuno dei punti precedenti lo risolve, il proprietario del sito ha un problema di configurazione lato server che solo lui può affrontare. Fornendogli la versione del tuo browser, la versione del sistema operativo e il messaggio di errore completo gli dai ciò che serve per riprodurre il problema.
Conclusione
I fallimenti dell’handshake SSL possono avere molte cause: un orologio del dispositivo sbagliato di qualche minuto, un browser non aggiornato, un certificato scaduto o un server non configurato per gli attuali standard TLS. Consultare la tabella diagnostica all’inizio di questa guida e poi applicare le correzioni in ordine risolve la maggior parte dei casi senza dover contattare nessuno.
Mantieni sempre backup, segui le migliori pratiche di sicurezza per evitare interruzioni e mantieni il tuo sito WordPress sicuro e accessibile.