Risoluzione dei Problemi con Certificati SSL e ServBay CA
Questo documento fornisce una panoramica dei problemi comuni e delle soluzioni relative ai certificati SSL e ServBay CA nell’ambiente di sviluppo locale ServBay.
Perché il browser indica che il certificato SSL non è attendibile?
Quando provi ad accedere tramite browser a un sito web locale gestito da ServBay e ricevi avvisi come quelli qui sotto, generalmente significa che c’è un problema nella configurazione del certificato SSL:
- Chrome / Edge:
Your connection is not private
(La tua connessione non è privata)- Codice errore
NET::ERR_CERT_AUTHORITY_INVALID
- Codice errore
NET::ERR_CERT_COMMON_NAME_INVALID
(Meno comune, ma si verifica se il nome del certificato non corrisponde al dominio)
- Firefox:
Warning: Potential Security Risk Ahead
(Avviso: Potenziale rischio di sicurezza)- Dopo “Avanzate” potresti vedere il codice errore
SEC_ERROR_UNKNOWN_ISSUER
- Codice errore
SSL_ERROR_BAD_CERT_DOMAIN
(Se il certificato non corrisponde al dominio)
- Safari:
This Connection Is Not Private
(Questa connessione non è privata)Safari can't verify the identity of the website "your-domain.test"
(Safari non può verificare l’identità del sito "tuo-dominio.test")
La causa principale di questo problema è che ServBay User CA
e ServBay Public CA
non sono stati installati e affidati correttamente. Questo può dipendere da:
- Il certificato root di ServBay non è stato aggiunto all’elenco di fiducia del sistema.
- Hai usato lo stesso dominio (per esempio
myapp.test
) su altri ambienti di sviluppo locale come MAMP o Laravel Herd, provocando conflitti fra i certificati di quegli strumenti e quelli di ServBay. Questo può anche causare la memorizzazione nel browser di informazioni di fiducia o certificati errati.
Soluzione
Segui questi passaggi:
- Apri ServBay
- Vai su Impostazioni (Settings) e individua la sezione ServBay Root CA.
- Clicca su Reinstalla ServBay Root CA. ServBay tenterà di riparare automaticamente l’installazione e la fiducia del certificato root.
- Chiudi completamente e riapri il browser (assicurati che tutte le finestre e i processi siano chiusi, in modo da eliminare lo stato SSL memorizzato).
- Accedi nuovamente al tuo sito. Gli errori relativi ai certificati SSL dovrebbero essere risolti.
Se il problema persiste:
Generalmente ci sono certificati vecchi, in conflitto o non validi nel sistema, specialmente se in passato hai generato certificati per lo stesso dominio tramite altri strumenti (come MAMP o Herd).
- Apri lo strumento di gestione certificati del sistema:
- macOS: Apri Accesso Portachiavi (Keychain Access) (lo trovi in "Applicazioni" > "Utility").
- Windows: Premi Win+R, digita
certmgr.msc
e premi Invio per aprire il gestore certificati.
- Usa la barra di ricerca in alto a destra per cercare il dominio problematico (ad es.
myapp.test
, oppure prova con le parole chiavemamp
oherd
per trovare le relative CA). - Filtra per Certificati (Certificates) fra le opzioni “Tipi” in alto.
- Cerca tutti i certificati SSL collegati al dominio cercato. Presta particolare attenzione all’Emittente (Issuer):
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
o altri nomi simili. - Seleziona i certificati legati al dominio, in particolare quelli NON emessi da
ServBay User CA
o che appaiono sospetti, e premiDelete
per eliminarli. Potrebbe essere richiesta la password del sistema. Presta attenzione a cancellare solo i certificati relativi ai domini di sviluppo locale. - Consigliato ma opzionale: In Accesso Portachiavi, cerca
ServBay User CA
eServBay Public CA
, assicurati che siano presenti e che non ci sia una "x" rossa sull’icona (che indica che il certificato non è affidato). Se non sono affidati (hanno la "x" rossa), fai doppio click sul certificato, apri la sezione “Fiducia (Trust)” e imposta “Quando si utilizza il certificato (When using this certificate)” su “Sempre affidare (Always Trust)”. - Torna all’app ServBay.
- Vai su Impostazioni (Settings) -> ServBay Root CA.
- Clicca su Ricrea tutti i certificati ServBay User (Recreate All ServBay User Certificates). ServBay rigenererà i certificati SSL di tutti i siti gestiti.
- Riavvia il computer. Così tutti i servizi e componenti di sistema caricheranno i certificati e le impostazioni di fiducia aggiornati.
- Riapri il browser e prova nuovamente ad accedere al tuo sito.
Grazie all’elenco degli errori più comuni, gli utenti potranno riconoscere più rapidamente se il problema riguarda la fiducia del certificato SSL e trovare direttamente la soluzione.
Cosa fare se il certificato SSL viene perso?
Durante lo sviluppo di siti web locali con ServBay, può succedere di perdere accidentalmente uno o più file di certificato SSL. Questo può impedire l’avvio del web server (Nginx, Caddy, Apache) o il caricamento del sito, mostrando errori correlati ai file certificato nei log.
Descrizione del problema
Se i file di certificato SSL (.crt
e .key
) generati automaticamente da ServBay per un sito locale vengono smarriti, potresti trovare messaggi simili nei log di errore del Web server. Normalmente, questi errori segnalano che il server non può trovare o leggere il percorso indicato del certificato.
Ecco alcuni esempi di errori frequenti:
Errore Nginx:
log
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
1
2
2
Errore Caddy:
log
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
1
Errore Apache:
log
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
1
2
2
In sintesi, questi errori indicano che il percorso del file certificato specificato nella configurazione del server web non è valido perché il file non esiste o non è accessibile.
Soluzione
Per i certificati SSL generati automaticamente da ServBay, esiste un comodo sistema integrato che rileva e rigenera i certificati smarriti.
Segui questi passaggi:
- Avvia l’app ServBay: Assicurati che l’applicazione ServBay sia attiva.
- Accedi all’elenco dei siti: Nella barra di navigazione sinistra dell’app, clicca su Siti Web.
- Seleziona il sito interessato: Cerca il dominio locale che presenta il problema e cliccaci sopra.
- Rilevamento e generazione automatica: ServBay, quando carica la configurazione del sito, rileva automaticamente la presenza o meno dei file certificato SSL richiesti. Se rileva la mancanza (
.crt
o.key
), ServBay procederà a rigenerare e installare i nuovi certificati nella posizione corretta (/Applications/ServBay/ssl/private/tls-certs/tuo-dominio/
). - Riavvia il server web: Dopo che i file certificato sono stati ricreati, riavvia il tuo server web (Nginx, Caddy, Apache) per consentirgli di caricare i nuovi file certificato. Vai alla pagina Software dalla barra di navigazione a sinistra, trova il software del web server che usi, e clicca sull’icona di riavvio (di solito una freccia circolare).
- Verifica la soluzione: Quando il server web si è riavviato con successo, prova ad accedere tramite HTTPS al sito locale (come
https://tuo-dominio
). Il problema dovrebbe essere risolto e il sito caricato correttamente in HTTPS.
Note importanti
- Questa soluzione si applica principalmente ai certificati SSL generati automaticamente da ServBay. Se usi certificati personalizzati importati manualmente, ServBay non rigenererà quelli persi: dovrai recuperarli o reinserirli manualmente.
- ServBay utilizza una CA interna, la ServBay User CA, per emettere certificati SSL per i siti locali e consentire HTTPS nell’ambiente di sviluppo. Se continui a ricevere avvisi di certificati non affidabili nel browser, probabilmente la ServBay User CA non è stata configurata come affidabile su sistema operativo o browser. Consulta la guida ServBay su Configurare la fiducia ServBay CA per istruzioni.
- ServBay include la funzione di backup dei dati, incluse le configurazioni dei siti e i certificati SSL. Effettua backup regolari per ripristinare rapidamente i dati in caso di necessità.
FAQ (Domande frequenti)
D: Perché ServBay emette automaticamente certificati SSL per i siti locali?
R: Lo scopo di ServBay è fornire un ambiente completo per lo sviluppo locale. Per simulare condizioni di produzione e consentire debug di applicazioni HTTPS, ServBay usa la ServBay User CA interna per generare certificati SSL ai siti creati, abilitando così l’accesso HTTPS locale.
D: Posso usare un certificato SSL personale?
R: Assolutamente sì. ServBay supporta l’importazione e l’uso di certificati SSL personali (compresi quelli ottenuti tramite ACME/Let's Encrypt). Questa guida vale solo per i certificati generati automaticamente da ServBay.
D: È sicuro rigenerare il certificato?
R: Sì, nei contesti di sviluppo locale ServBay rigenera certificati firmati dalla ServBay User CA, pensati solo per uso locale e test. Questo non influenzerà la sicurezza del tuo sito pubblico su Internet.
Conclusione
ServBay offre strumenti efficaci per gestire i certificati SSL nell’ambiente di sviluppo locale. Quando i certificati SSL generati da ServBay vengono persi, bastano pochi passaggi per rilevarli e rigenerarli, permettendoti di ripristinare rapidamente l’accesso HTTPS ai tuoi siti di sviluppo locale.