Risoluzione dei Problemi per Certificati SSL e ServBay CA
Questo documento fornisce una panoramica dei problemi comuni relativi ai certificati SSL e a ServBay CA nell'ambiente di sviluppo locale ServBay, presentando metodi di troubleshooting efficaci.
Perché il browser segnala che il certificato SSL non è attendibile?
Quando provi ad accedere a un sito web locale ospitato tramite ServBay e il browser mostra avvisi simili ai seguenti, di solito significa che la configurazione del certificato SSL non è corretta:
- Chrome / Edge:
La tua connessione non è privata
(Your connection is not private)- Codice errore
NET::ERR_CERT_AUTHORITY_INVALID
- Codice errore
NET::ERR_CERT_COMMON_NAME_INVALID
(meno comune, ma appare se il certificato non corrisponde al dominio)
- Firefox:
Avvertimento: Potenziale rischio per la sicurezza in arrivo
(Warning: Potential Security Risk Ahead)- Cliccando su “Avanzate” potresti vedere il codice
SEC_ERROR_UNKNOWN_ISSUER
- Codice errore
SSL_ERROR_BAD_CERT_DOMAIN
(se il certificato non corrisponde al dominio)
- Safari:
Questa connessione non è privata
(This Connection Is Not Private)Safari non può verificare l'identità del sito “[tuo-dominio.test]”
(Safari can't verify the identity of the website "your-domain.test")
La causa principale di questo problema è che ServBay User CA
e ServBay Public CA
non sono state installate o fidate correttamente. Questo può succedere se:
- Il certificato radice di ServBay non è stato aggiunto all'elenco dei certificati fidati di sistema.
- Hai utilizzato lo stesso dominio (ad esempio
myapp.test
) in altri ambienti di sviluppo locale come MAMP o Laravel Herd, creando conflitti fra certificati oppure a causa di problemi nei sistemi di certificazione di questi strumenti, con il risultato che il browser memorizza informazioni di fiducia errate o vecchi certificati.
Soluzione
Segui questi passaggi:
- Apri ServBay
- Vai alle Impostazioni (Settings) e trova la sezione ServBay Root CA.
- Clicca su Reinstalla ServBay Root CA (Reinstall ServBay Root CA). ServBay tenterà di riparare automaticamente l'installazione e la fiducia nel certificato radice.
- Chiudi completamente e riapri il browser (assicurati che tutte le finestre e i processi siano chiusi, in modo da svuotare la cache SSL).
- Accedi nuovamente al tuo sito web. L'errore SSL dovrebbe essere risolto.
Se il problema persiste:
Solitamente ci sono certificati vecchi, in conflitto o non validi nel sistema, specialmente se hai generato certificati per lo stesso dominio con altri strumenti (come MAMP o Herd).
- Apri l'app Accesso Portachiavi (Keychain Access) su macOS (la trovi in “Applicazioni” > “Utility”).
- Nella barra di ricerca in alto a destra, inserisci il dominio problematico (ad esempio
myapp.test
, oppure se non sei sicuro, prova a cercare parole chiave comemamp
oherd
per individuare autorità di certificazione relative). - Filtra per Certificati (Certificates) dalla voce “Tipo” nella parte superiore.
- Nei risultati di ricerca, individua tutti i certificati SSL collegati al dominio inserito. Presta attenzione al campo “Emittente” (Issuer): potrebbero essere
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
o nomi simili. - Seleziona tutti i certificati collegati al dominio problematico (soprattutto quelli non emessi da
ServBay User CA
o sospetti), quindi premi il tastoDelete
per eliminarli. Potrebbe essere richiesta la password di sistema per confermare. Procedi con cautela, eliminando solo i certificati correlati ai tuoi domini di sviluppo locale. - (Opzionale ma consigliato) Cerca anche
ServBay User CA
eServBay Public CA
in Accesso Portachiavi, assicurandoti che esistano e che l’icona non abbia una "x" rossa (che indica un certificato non fidato). Se non sono fidati (x rossa), fai doppio clic sul certificato, espandi la sezione “Fiducia (Trust)”, e imposta “Quando si utilizza questo certificato (When using this certificate)” su “Fidati sempre (Always Trust)”. - Torna all’applicazione ServBay.
- Vai su Impostazioni (Settings) -> ServBay Root CA.
- Clicca su Ricrea tutti i certificati utenti ServBay (Recreate All ServBay User Certificates). Questo rigenera tutti i certificati SSL per i siti gestiti da ServBay.
- Riavvia il tuo Mac. Questo aiuta a far sì che tutti i servizi e componenti di sistema carichino i nuovi certificati e le impostazioni di fiducia.
- Riapri il browser e prova nuovamente ad accedere al tuo sito.
Grazie all’inclusione di questi messaggi di errore comuni, gli utenti possono più facilmente individuare se il proprio problema riguardi la fiducia nel certificato SSL e trovare subito la soluzione adeguata.
Cosa fare se un certificato SSL viene perso?
Durante lo sviluppo locale con ServBay, può capitare che i file dei certificati SSL di un sito vengano accidentalmente rimossi. Questo comporta l’impossibilità di avviare correttamente il server web (ad esempio Nginx, Caddy o Apache) o di caricare il sito, e nei log appariranno errori relativi ai certificati mancanti.
Descrizione del problema
Se i file del certificato SSL (.crt
e .key
) firmati automaticamente da ServBay per il tuo sito locale vengono persi, potresti trovare nei log del server web errori simili ai seguenti, che indicano tipicamente che non è stato trovato (o può essere letto) il percorso dei file di certificato specificati.
Ecco alcuni esempi di errori comuni:
Errore Nginx:
nginx: [emerg] cannot load certificate "/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt, r) error:10000080:BIO routines::no such file)
nginx: configuration file /Applications/ServBay/package/etc/nginx/nginx.conf test failed
2
Errore Caddy:
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/servbay.host/ser3vbay.host.crt: no such file or directory
Errore Apache:
AH00526: Syntax error on line 15 of /Applications/ServBay/package/etc/apache/vhosts/servbay.host.conf:
SSLCertificateFile: file '/Applications/ServBay/ssl/pri3vate/tls-certs/servbay.host/servbay.host.crt' does not exist or is empty
2
Il significato di questi errori è sostanzialmente lo stesso: il percorso dei certificati SSL specificato nella configurazione del server web non è valido, perché il file è mancante o inaccessibile.
Soluzione
Per i certificati SSL emessi automaticamente da ServBay, esiste una procedura comoda per rilevare e rigenerare i certificati mancanti.
Procedi così:
- Avvia ServBay: Assicurati che l'applicazione ServBay sia in esecuzione.
- Vai all’elenco siti: Dal menù laterale di ServBay, clicca su Siti.
- Seleziona il sito interessato: Individua nella lista il sito locale che ha perso il certificato SSL e cliccaci sopra.
- Rilevamento e riemissione automatica: ServBay, caricando la configurazione del sito, controllerà automaticamente la presenza dei file di certificato necessari. Se rileva l’assenza dei file (
.crt
o.key
), procederà a riemetterli e a collocarli nella cartella corretta (/Applications/ServBay/ssl/private/tls-certs/il-tuo-dominio/
). - Riavvia il server web: Una volta che i certificati saranno stati ricreati e copiati correttamente, riavvia il server web che serve il sito (Nginx, Caddy o Apache) per caricare i nuovi certificati. Nel menù laterale di ServBay, vai su Pacchetti software, trova il server usato e premi il pulsante di riavvio accanto (di solito l’icona di una freccia circolare).
- Verifica la risoluzione: Dopo che il server web si sarà riavviato, accedi al sito locale tramite HTTPS (ad esempio
https://iltuodominio
). Ora il problema dovrebbe essere risolto e il sito caricarsi correttamente.
Note importanti
- Questa soluzione riguarda soprattutto i certificati SSL emessi automaticamente da ServBay. Se hai importato un certificato personalizzato, dovrai recuperarlo o reimportarlo manualmente: ServBay non effettua la riemissione automatica di certificati personalizzati.
- ServBay firma i certificati dei siti locali tramite la ServBay User CA per offrire HTTPS negli ambienti di sviluppo. Se riscontri avvisi di fiducia relativi al certificato visitando siti HTTPS locali, potrebbe dipendere dal fatto che ServBay User CA non è stata fidata dal sistema operativo o dal browser. Consulta la documentazione Come fidare ServBay CA per la configurazione.
- ServBay offre una funzione di backup che include le configurazioni dei siti e i certificati SSL. Effettuare backup regolari può aiutarti a ripristinare in fretta i dati in caso di problemi.
Domande frequenti (FAQ)
D: Perché ServBay emette automaticamente certificati SSL per i siti locali?
R: L’obiettivo di ServBay è fornire un ambiente di sviluppo locale completo. Per simulare l’ambiente di produzione e facilitare il debug di applicazioni HTTPS, ServBay usa la propria ServBay User CA per emettere automaticamente certificati SSL per i siti locali, così da permettere l’accesso HTTPS in locale.
D: Posso usare certificati SSL personali?
R: Sì, ServBay supporta l’importazione e l’utilizzo di certificati SSL personali (inclusi quelli ottenuti tramite ACME / Let's Encrypt). Questa guida alla risoluzione dei problemi è riferita solo ai certificati generati automaticamente da ServBay.
D: È sicuro riemettere i certificati?
R: Sì. Per l’ambiente di sviluppo locale, ServBay riemette certificati firmati dalla ServBay User CA, usati solo in locale per sviluppo e test. Questo non influisce sulla sicurezza del sito su Internet pubblica.
Conclusione
ServBay offre una gestione semplice dei certificati SSL per l'ambiente di sviluppo locale. Se i certificati SSL dei siti locali generati automaticamente da ServBay vengono accidentalmente persi, pochi passaggi permettono a ServBay di rilevare il problema, rigenerare i certificati e ripristinare rapidamente l’accesso HTTPS locale.