Sviluppo HTTPS locale con certificati SSL autofirmati
Durante lo sviluppo e il test di siti web in locale, è fondamentale simulare una connessione HTTPS come in ambiente di produzione. Anche se i certificati SSL autofirmati non vengono riconosciuti dalle autorità di certificazione (CA) pubbliche, rappresentano un metodo semplice per abilitare HTTPS nell’ambiente di sviluppo locale. In questa guida vedrai come usare lo strumento OpenSSL integrato in ServBay per generare certificati SSL autofirmati sicuri e performanti basati su crittografia a curve ellittiche (ECC) e come configurarli per il tuo sito web locale in ServBay. Verrà utilizzato il dominio di esempio servbay.demo
.
Capire come configurare HTTPS ti permette di testare in modo completo il comportamento del sito in connessione sicura direttamente in locale, ad esempio gestendo warning sui contenuti misti, flag di sicurezza dei cookie e altro.
Panoramica
I certificati autofirmati sono certificati SSL creati e firmati da te, anziché da una CA pubblica riconosciuta. Sono adatti a situazioni che non richiedono fiducia pubblica, come:
- Ambienti di sviluppo locale
- Server di test interni
- Applicazioni interne per dati non sensibili
ServBay integra lo strumento OpenSSL per consentirti di generare facilmente i file dei certificati direttamente dal terminale.
Prerequisiti
- ServBay installato e in esecuzione.
- Conoscenza di base dell’uso del terminale.
Passo 1: Generazione di un certificato SSL ECC autofirmato
Si consiglia di utilizzare certificati ECC poiché, rispetto ai tradizionali certificati RSA, offrono la stessa sicurezza con chiavi più piccole, migliori prestazioni di firma/validazione e un minore consumo di risorse.
Ecco i passaggi dettagliati per generare un certificato SSL ECC autofirmato:
Genera la chiave privata ECC
Apri il terminale. Esegui il seguente comando per generare un file di chiave privata ECC
servbay.demo.key
usando la curvaprime256v1
.shopenssl ecparam -genkey -name prime256v1 -out servbay.demo.key
1openssl
: richiama lo strumento OpenSSL.ecparam
: gestisce i parametri ECC.-genkey
: genera la chiave privata.-name prime256v1
: specifica il nome della curva ECC (prime256v1/NIST P-256 è una scelta sicura e comune).-out servbay.demo.key
: nome file della chiave privata in output.
Crea la richiesta di firma del certificato (CSR)
Usa la chiave privata
servbay.demo.key
appena creata per generare il file CSRservbay.demo.csr
. Il CSR include le informazioni che desideri nel certificato (come il dominio e il nome organizzazione), firmate con la tua chiave privata.shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1Dopo aver eseguito il comando, OpenSSL ti chiederà una serie di informazioni per compilare il CSR. Rispondi secondo le istruzioni; il campo più importante è
Common Name (e.g. server FQDN or YOUR name)
, dove va inserito il dominio usato localmente, ad esempioservbay.demo
. Gli altri campi possono essere compilati a piacere o secondo le tue esigenze.Esempio di compilazione:
Country Name (2 letter code) [AU]:IT # Codice paese, es: IT per Italia State or Province Name (full name) [Some-State]:Lombardia # Regione/Provincia Locality Name (eg, city) []:Milano # Città Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # Nome organizzazione Organizational Unit Name (eg, section) []:Sviluppo # Reparto/Unità Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **Importante: inserisci il dominio locale** Email Address []:[email protected] # Email di contatto Inserisci i seguenti attributi "extra" per la richiesta del certificato A challenge password []: # opzionale, lasciare vuoto An optional company name []: # opzionale, lasciare vuoto
1
2
3
4
5
6
7
8
9
10
11Genera il certificato autofirmato
Infine, usa il CSR (
servbay.demo.csr
) e la chiave privata (servbay.demo.key
) per creare il certificato SSL autofirmatoservbay.demo.crt
, valido per 365 giorni.shopenssl x509 -req -days 365 -in servbay.demo.csr -signkey servbay.demo.key -out servbay.demo.crt
1openssl x509
: gestisce i certificati in formato X.509.-req
: indica che l’input è un CSR.-days 365
: durata del certificato (in giorni).-in servbay.demo.csr
: file CSR di input.-signkey servbay.demo.key
: chiave privata da usare per firmare il certificato.-out servbay.demo.crt
: nome file del certificato in output.
Al termine troverai nella directory corrente tre file:
servbay.demo.key
(chiave privata),servbay.demo.csr
(richiesta CSR) eservbay.demo.crt
(certificato autofirmato).
(Illustrazione: processo di generazione dei certificati tramite comando OpenSSL nel terminale)
Passo 2: Configurare il certificato autofirmato in ServBay
Dopo aver generato i file, devi posizionarli in una cartella accessibile da ServBay e specificarne il percorso nella configurazione del sito. ServBay consiglia di conservare tutti i certificati nella directory /Applications/ServBay/ssl
, creando sottocartelle separate per ogni dominio, per una gestione ordinata.
Sposta i file dei certificati nella directory assegnata
Segui la struttura suggerita da ServBay, spostando i file nella cartella
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/
. Se non esiste, creala prima:sh# Crea la directory se non esiste mkdir -p /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # Sposta i file mv servbay.demo.key /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ mv servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/servbay.demo/ # Il file CSR in genere non è più necessario, ma può essere archiviato mv servbay.demo.csr /Applications/ServBay/ssl/private/tls-certs/servbay.demo/
1
2
3
4
5
6
7
8/Applications/ServBay/ssl/
: directory principale SSL di ServBay.private/tls-certs/
: struttura consigliata per i certificati privati TLS/SSL.servbay.demo/
: sottocartella dedicata ad ogni dominio, per gestire più certificati.
Apri l’interfaccia di gestione ServBay
Avvia l’app di ServBay e accedi al pannello di gestione.
Aggiungi o modifica la configurazione del sito
Nel pannello di ServBay, vai alla scheda Siti web (Websites). Se non hai già una configurazione per
servbay.demo
, premi Aggiungi sito (Add Website); altrimenti modifica quella esistente.Configura SSL/HTTPS
All’interno delle impostazioni sito, individua la sezione SSL/HTTPS o equivalente.
Scegli "Custom" come sorgente certificato
Seleziona Custom (certificato personalizzato) come metodo di configurazione del certificato SSL.
Specifica il percorso dei file certificato
Nei campi richiesti, inserisci il percorso ai file nella directory SSL ServBay:
- Certificate Key File (chiave privata): inserisci o sfoglia fino a
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.key
- Certificate File (certificato): inserisci o sfoglia fino a
/Applications/ServBay/ssl/private/tls-certs/servbay.demo/servbay.demo.crt
- Certificate Key File (chiave privata): inserisci o sfoglia fino a
Configura il dominio
Assicurati che il campo Dominio (Domain) nella configurazione sia impostato su
servbay.demo
.Salva e applica la configurazione
Salva le modifiche. ServBay ti chiederà di applicare le modifiche, il che potrebbe comportare il riavvio del server web (ad esempio Caddy o Nginx). Conferma per applicare.
(Illustrazione: configurazione del percorso certificato SSL personalizzato nell’interfaccia di amministrazione ServBay)
Verifica della configurazione HTTPS
Ora puoi testare la configurazione visitando https://servbay.demo/
dal browser.
Dato che il certificato è autofirmato e non riconosciuto da una CA pubblica, il browser mostrerà un avviso di sicurezza indicando che il certificato non è attendibile o comporta un rischio per la privacy. È un comportamento previsto.
(Illustrazione: avviso visualizzato dal browser per siti con certificato autofirmato)
Puoi ignorare l’avviso e proseguire (solitamente tramite un’opzione “Avanzate” o “Procedi comunque”). In alternativa, per evitare l’avviso ogni volta, puoi aggiungere il certificato autofirmato allo store di certificati attendibili del sistema operativo.
(Illustrazione: visualizzazione dei dettagli del certificato autofirmato nel browser)
Verificando i dettagli del certificato, puoi assicurarti che il browser abbia effettivamente caricato il certificato servbay.demo
che hai configurato.
Note e raccomandazioni
- Sicurezza della chiave privata: La chiave privata (
.key
) è altamente sensibile: conservala in modo sicuro e non condividerla. In ambiente locale, assicurati che i permessi del file consentano l’accesso solo all’utente ServBay. - Percorso file: Verifica che i percorsi dei file specificati nella configurazione ServBay siano precisi e completi.
- Corrispondenza del dominio: Il dominio inserito nel campo Common Name (CN) durante la creazione del certificato deve corrispondere esattamente al dominio configurato per il sito ServBay, altrimenti il browser segnalerà un errore di mismatch.
- Scadenza certificato: Il certificato autofirmato vale per il periodo specificato (
-days
). A scadenza, deve essere rigenerato e riconfigurato.
Temi correlati e alternative
Sebbene i certificati autofirmati siano utili per semplici test HTTPS locali, per simulare al meglio l’esperienza di una CA pubblica durante lo sviluppo puoi valutare le soluzioni alternative offerte da ServBay:
- ServBay User CA: ServBay include uno strumento CA dedicato agli utenti. Puoi aggiungere questa CA personalizzata allo store di certificati attendibili del sistema operativo, quindi usare la ServBay User CA per firmare certificati SSL per i tuoi siti locali. Questi certificati saranno riconosciuti come attendibili da sistema operativo e browser, rimuovendo gli avvisi di sicurezza: soluzione ideale per testare OAuth, Webhook o altri scenari che richiedono certificati trusted.
- ServBay Public CA: ServBay offre anche una funzione di CA pubblica, in grado di rilasciare certificati per domini locali e configurare in automatico la fiducia di sistema.
Queste alternative sono spesso più pratiche della gestione manuale dei certificati autofirmati, specialmente se hai molti siti locali da amministrare. Consulta la documentazione ServBay per i dettagli su come utilizzare queste funzionalità.
Domande frequenti (FAQ)
- D: Perché il browser segnala sito non sicuro nonostante il certificato appena creato?
- R: I certificati autofirmati non sono riconosciuti dalle CA pubbliche, quindi il browser segnala l’avviso per motivi di sicurezza. È normale. Per eliminare l’avviso, aggiungi il certificato o la CA usata per firmarlo (ad esempio ServBay User CA) allo store dei certificati attendibili del sistema operativo.
- D: Posso usare certificati RSA invece di ECC?
- R: Sì. OpenSSL supporta anche la generazione di certificati RSA. Usa ad esempio
openssl genrsa -out servbay.demo.key 2048
per creare una chiave RSA, quindi procedi con la creazione del CSR e del certificato. Tuttavia, consigliamo ECC per prestazioni superiori.
- R: Sì. OpenSSL supporta anche la generazione di certificati RSA. Usa ad esempio
- D: Come aggiungo il certificato autofirmato agli attendibili su macOS?
- R: Apri “Accesso Portachiavi” (Keychain Access), seleziona il portachiavi “Sistema” o “Login”. Trascina il file
.crt
nel portachiavi. Fai doppio clic sul certificato importato, espandi la sezione “Fiducia” e imposta “Sicurezza protocollo SSL” su “Sempre attendibile”. Chiudi la finestra (potresti dover inserire la password) e riavvia il browser.
- R: Apri “Accesso Portachiavi” (Keychain Access), seleziona il portachiavi “Sistema” o “Login”. Trascina il file
Conclusioni
Con questa guida hai appreso come generare un certificato SSL ECC autofirmato con lo strumento OpenSSL integrato in ServBay e come configurarlo per un sito web locale. I certificati autofirmati sono utili prevalentemente per test locali e per comprendere il funzionamento di HTTPS, abilitando la connessione sicura già in fase di sviluppo. Per una gestione più comoda dei certificati e della fiducia, ti invitiamo a esplorare le funzionalità User CA e Public CA offerte da ServBay. Seguendo questi passaggi potrai svolgere sviluppo web locale in modalità HTTPS in modo professionale e sicuro.