Handshake SSL fallito: 11 cause e come risolverle
· Team di CSR.plus

- •Un handshake fallito riconduce quasi sempre a una delle 11 cause: certificato, cipher, SNI, protocollo o rete.
- •Diagnostica in ordine: scadenza, corrispondenza host, completezza della catena, poi versioni TLS e cipher.
- •La maggior parte dei fallimenti si risolve con una catena intermedia corretta o una suite di cipher compatibile.
Cosa succede quando un handshake fallisce
Durante l’handshake TLS client e server devono concordare versione del protocollo, suite di cipher e catena di certificati valida. Un errore in qualsiasi passaggio interrompe la connessione. Punti comuni: certificato scaduto, host non coperto, catena incompleta (il server invia la foglia senza l’intermedio), versione TLS non supportata, cipher incompatibili, SNI mancante o firewall/NAT che scarta il ClientHello.
Diagnosi in meno di un minuto
Esegui openssl s_client -connect tualdominio.com:443 -servername tualdominio.com e leggi l’output. «Verify return code: 0» significa che la catena è a posto. «unable to get local issuer certificate» indica un intermedio mancante. «no peer certificate available» o una riga vuota dopo CONNECTED significa che il server non ha mai completato l’handshake: un problema di protocollo o cipher. Gli errori della console del browser aggiungono la vista client.
Soluzioni per le 5 cause più frequenti
1) Intermedio mancante: scarica il bundle CA e concatena foglia + intermedio nell’ordine giusto. 2) Cipher incompatibili: abilita una suite comune come TLS_AES_256_GCM_SHA384 (TLS 1.3) o ECDHE-RSA-AES256-GCM (TLS 1.2). 3) Versione TLS: abilita TLS 1.2 e 1.3 e disabilita le versioni inferiori. 4) Host/SNI: assicurati che il certificato copra l’host esatto e che SNI sia attivo. 5) Rete: verifica che la porta 443 sia aperta e che un load balancer o CDN non termini TLS con impostazioni proprie.
FAQ
Perché l’handshake fallisce nel browser ma funziona con curl?
Client diversi accettano versioni TLS e suite diverse. Se curl funziona ma un vecchio browser no, il client non supporta la versione negoziata: abilita almeno TLS 1.2.
Un firewall può causare fallimenti dell’handshake?
Sì. Alcuni firewall e NAT scartano silenziosamente i ClientHello grandi o bloccano le porte TCP. Testa con una porta non standard o una cattura di pacchetti.
UptimeRobot
Monitora SSL e uptime gratuitamente
UptimeRobot sorveglia i tuoi certificati e endpoint 24/7 — 50 monitor nel piano gratuito.
Link affiliato — potremmo ricevere una commissione senza costi aggiuntivi per te.
Strumenti SSL/TLS gratuiti
Verifica e ispeziona i tuoi certificati in pochi secondi.