Niente ostacola al vostro lavoro come un improvviso messaggio di errore, soprattutto quando riguarda la sicurezza. Un errore che dice: “This site can’t provide a secure connection” (cioè “questo sito non può fornire una connessione sicura”) può generare confusione e allarmismo. Se oltretutto lo ricevete mentre usate la vostra installazione MAMP, il fastidio è ancora maggiore, dato che questi siti sono spesso installazioni locali di test.
Questo problema di solito comporta un problema con il vostro browser web o con il certificato SSL del vostro sito. Fortunatamente, risolverlo è abbastanza facile. Potrebbe essere sufficiente cancellare la cache del vostro browser.
In questo articolo, daremo un’occhiata alle cause più comuni di questo messaggio di errore. Poi vi spiegheremo come risolverlo e correggerlo, in modo da poter tornare a dedicarvi a cose più importanti. Andiamo subito al sodo!
Quindi, che cos’è esattamente una “connessione sicura”? In pratica, si tratta di una connessione a un sito web che usa HTTPS invece che HTTP. La maggior parte dei browser visualizza questi siti con un’icona a forma di lucchetto nella barra degli indirizzi per indicare che la connessione è sicura.
HTTPS offre grandi vantaggi di sicurezza rispetto a HTTP, ma include anche requisiti rigorosi per garantire la conformità. Uno di questi è la presenza di un certificato SSL valido.
Variazioni dell’errore “This Site Can’t Provide a Secure Connection”
Una cosa da notare riguardo a questo errore è che la sua presentazione può variare in modo significativo da un browser all’altro. Tuttavia, in ogni caso, il messaggio menziona in qualche modo le connessioni sicure.
Ecco come appare il messaggio in Google Chrome:
In Mozilla Firefox, invece, apparirà così:
E questo è come appare in Microsoft Edge:
Come potete vedere, la maggior parte dei browser non fornisce molte informazioni sul messaggio di errore. Firefox almeno fornisce una piccola indicazione per iniziare, ma rimane comunque piuttosto vago. Non preoccupatevi, chiariremo ogni confusione nel resto di questo articolo.
Perché Si Verifica l’Errore “This site can’t provide a secure connection”?
Ora, solo perché vedete un avvertimento relativo alla sicurezza del sito non significa necessariamente che il sito non sia sicuro. Anche se questa è una possibilità, più spesso la causa è benigna. Le cause comuni rientrano in due categorie: problemi con il vostro browser web e problemi con il sito o la configurazione del sistema.
Se vedete l’errore in un dato browser, ma la pagina funziona bene in altri navigatori, il problema si deve al vostro browser (di solito alla sua cache). Se l’errore appare in tutti i browser, sapete che il problema si deve al computer che state usando o al sito stesso.
Esploriamo le cause più comuni di questo messaggio di errore:
Il vostro ambiente locale non ha un certificato SSL
Se state usando un ambiente locale come MAMP, probabilmente non avete un certificato per il vostro sito. Questo dovrebbe essere il primo passo nel processo di risoluzione dei problemi, poiché è probabilmente la causa del problema. Se state cercando un potente strumento di sviluppo locale che include certificati SSL automatici per tutti i siti, date un’occhiata a DevKinsta.
La cache SSL del browser è scaduta
Questa è una delle cause più popolari. I browser web memorizzano i certificati SSL in una cache, proprio come fanno per altri dati. Questo significa che non devono verificare il certificato ogni volta che visitate un sito, il che velocizza la navigazione. Tuttavia, se il vostro certificato SSL cambia e il browser sta ancora caricando una vecchia versione nella cache, ecco che può comparire l’errore.
Impostazioni di data e ora errate sul vostro computer
Se il vostro computer è impostato con l’ora e la data sbagliate, possono crearsi problemi con l’autenticazione di un certificato SSL. Fortunatamente, questa è una correzione abbastanza facile.
Estensioni del browser mal funzionanti
Un’estensione del browser mal configurata o mal funzionante può causare problemi con l’autenticazione del certificato. Anche se a volte potrebbe trattarsi di qualcosa di grave, è più spesso un semplice errore di codifica.
Un software antivirus troppo zelante
Anche un software antivirus che scansiona le vostre connessioni in tempo reale può talvolta lanciare questo messaggio. Potrebbe essere dovuto a un errore di codifica o semplicemente a impostazioni troppo aggressive.
Un certificato SSL non valido o scaduto
Se il certificato SSL del vostro sito è scaduto o comunque non valido, vedrete questo errore. I certificati devono essere rinnovati periodicamente.
Nella prossima sezione, vedremo come risolvere l’errore relativo alla connessione sicura in MAMP.
Come Risolvere l’Errore “This site can’t provide a secure connection” Quando Si Usa MAMP?
Come abbiamo detto prima, su un’installazione MAMP il colpevole più probabile del problema di connessione è l’assenza di un certificato SSL nel vostro ambiente localhost. Per fortuna, è abbastanza facile crearne uno usando OpenSSL; così facendo dovreste risolvere il messaggio di errore. Le seguenti istruzioni sono pensate per gli utenti macOS, ma dovrebbero funzionare anche su Linux.
Passo 1. Creare un Certificato SSL di Root
Per prima cosa, dovrete creare un certificato SSL di root. Questo vi permette di firmare certificati aggiuntivi per i vostro i domini.
Per iniziare, aprite l’applicazione Terminal sul vostro computer e inserite il seguente comando:
openssl genrsa -des3 -out rootCA.key 2048
Questo comando genera una chiave RSA-2048 con il nome del file rootCA.key. Userete questa chiave per creare il certificato di root. Vi verrà chiesto di inserire una password: prendete nota, perché ne avrete bisogno per usare la chiave quando genererete i certificati.
Successivamente, potete inserire il seguente comando per creare il certificato SSL di root:
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Il certificato verrà salvato nel file rootCA.pem. Il numero “1024” rappresenta il numero di giorni in cui il certificato rimarrà valido: potete cambiarlo con quello che volete.
Passo 2. Confermare l’Affidabilità del Certificato di Root
Con il vostro certificato di root in posizione, il passo successivo è quello di confermare al sistema operativo (OS) che si tratta di un certificato affidabile. Questo assicura che tutti i futuri certificati creati siano considerati affidabili per impostazione predefinita, facendovi risparmiare tempo.
Per farlo, aprite l’app Keychain Access (o Accesso Portachiavi) sul vostro macOS e fate clic su Sistema e poi Certificati nella barra laterale. Quindi, selezionate File > Importa elementi, seguito dal certificato rootCA.pem creato nell’ultimo passaggio.
Una volta importato, fate doppio clic su di esso e cambiate l’opzione When using this certificate in Always Trust. Ora potete creare un certificato SSL per il vostro dominio.
Passo 3. Creare i File di Configurazione di OpenSSL
Successivamente, è necessario creare un file di configurazione che contenga le impostazioni OpenSSL che desiderate usare durante la creazione dei certificati. Per iniziare, create un file chiamato server.csr.cnf. Dovrebbe contenere quanto segue:
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=US
ST=RandomState
L=RandomCity
O=RandomOrganization
OU=RandomOrganizationUnit
[email protected]
CN = localhost
Save this file, then create another one named v3.ext, and add the following:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
Successivamente, genererete una chiave per firmare il vostro certificato SSL di dominio.
Passo 4. Generare una Chiave di Certificato per Localhost
Tornate all’applicazione Terminal e inserite il seguente comando per creare una chiave per localhost:
openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )
La chiave è memorizzata nel file server.key.
Passo 5. Creare un Certificato SSL per il Vostro Dominio Locale
Abbiamo quasi finito! Ora è il momento di generare il certificato SSL per localhost. Potete farlo inserendo il seguente comando nell’applicazione Terminal:
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext
Questo comando crea un file di certificato chiamato server.crt.
Passo 6. Attivare il Certificato SSL per Localhost
Infine, copiate i file server.key e server.crt creati nei due passaggi precedenti nella vostra cartella di installazione MAMP. Ora potete abilitare HTTPS sulla vostra installazione locale di WordPress senza ricevere l’errore “This site can’t provide a secure connection”.
Sommario
Il messaggio “This site can’t provide a secure connection” in MAMP non solo impedisce l’accesso al vostro sito, ma può anche creare preoccupazione a causa delle potenziali implicazioni di sicurezza. Per fortuna, di solito è benigno e relativamente facile da risolvere.
Questo errore indica di solito un problema con la configurazione del vostro browser o con il certificato SSL sul vostro sito (su localhost, invece, di solito significa che non ne avete uno). Per risolverlo basta generare un certificato SSL per localhost usando OpenSSL. Seguendo i suggerimenti elencati sopra, dovreste essere in grado di risolvere questo errore rapidamente in modo da poter tornare al lavoro.