ERR_SSL_PROTOCOL_ERROR: troubleshooting SSL

Cosa significa ERR_SSL_PROTOCOL_ERROR

L'errore ERR_SSL_PROTOCOL_ERROR indica che il browser ha tentato di stabilire una connessione TLS con il server ma il handshake è fallito. Non riguarda la validità del certificato (per quello ci sono altri errori specifici), ma proprio l'impossibilità di completare la negoziazione del protocollo crittografico.

Versioni TLS incompatibili

Le cause più comuni sono versioni TLS obsolete sul server (TLS 1.0 e 1.1 sono deprecati) o cipher suite incompatibili. I browser moderni richiedono TLS 1.2 minimo, idealmente TLS 1.3. Verifica la configurazione con il tool gratuito SSL Labs (ssllabs.com/ssltest) che fornisce un report dettagliato.

Configurazione web server

Su Apache, modifica /etc/apache2/mods-enabled/ssl.conf per impostare SSLProtocol -all +TLSv1.2 +TLSv1.3. Su Nginx, in nginx.conf usa ssl_protocols TLSv1.2 TLSv1.3;. Aggiorna le cipher suite a una lista moderna come quella consigliata da Mozilla SSL Configuration Generator.

Certificato mancante o corrotto

Verifica che il certificato sia presente nei percorsi configurati e che la chain sia completa. Spesso manca il certificato intermedio della CA, che fa fallire la validazione su alcuni client. Usa openssl s_client -connect tuosito.it:443 -showcerts per ispezionare la chain completa restituita dal server.

Hostname e SNI

Se sul server ci sono più certificati per virtual host diversi, il server deve supportare SNI (Server Name Indication). Versioni molto vecchie di IE o sistemi senza SNI ricevono un certificato sbagliato e generano errori. Tutti i browser moderni supportano SNI nativamente.

Cache SSL del browser

Chrome e Edge mantengono una cache delle sessioni SSL. Vai in chrome://net-internals/#sockets e clicca su "Flush socket pools", oppure in chrome://settings/clearBrowserData per pulire tutto. Riavvia il browser. Questo risolve casi in cui il browser ricorda un'asimmetria di protocollo precedente.

Antivirus che intercetta SSL

Alcuni antivirus come Kaspersky, ESET, Avast eseguono SSL inspection intercettando il traffico HTTPS. Se la loro CA root non è correttamente installata o ci sono bug, generano ERR_SSL_PROTOCOL_ERROR. Disabilita temporaneamente la scansione HTTPS dall'antivirus per verificare.

Data e ora del sistema

Una data o ora del computer client significativamente errata fa fallire il handshake TLS perché il certificato risulta non ancora valido o scaduto. Verifica e correggi l'orologio del sistema operativo, abilitando preferibilmente la sincronizzazione automatica con server NTP.

Hai bisogno di aiuto?

Se il tuo sito ha problemi di accesso, il team di G Tech Group può aiutarti. Contattaci tramite il modulo di contatto.

Hai trovato utile quest'articolo?