Utilizzare un certificato SSL di terze parti in ServBay
Quando si sviluppa o si testa localmente simulando un ambiente di produzione, utilizzare un certificato SSL emesso da un'autorità di certificazione (CA) affidabile garantisce che il tuo sito sia accessibile in modo sicuro tramite HTTPS. Ciò risulta essenziale per testare funzionalità che richiedono HTTPS o per mantenere l'ambiente locale il più vicino possibile a quello di produzione. Questa guida spiega in dettaglio come configurare certificati SSL di terze parti nell'ambiente di sviluppo web locale ServBay.
WARNING
Attenzione: i certificati SSL emessi da CA di terze parti supportano solo i domini con estensione standard (ad es. .com
, .org
, .net
, .cn
ecc.), mentre non possono essere utilizzati con suffissi non standard (come .local
, .test
, .demo
ecc.) poiché non è possibile verificarli pubblicamente. Se stai utilizzando domini locali non standard, ti consigliamo di usare ServBay User CA o ServBay Public CA per generare certificati SSL locali affidabili.
Scenari di utilizzo
- Simulazione dell'ambiente di produzione: Replica con precisione la configurazione HTTPS di produzione e verifica il comportamento del sito sotto HTTPS.
- Test di funzioni dipendenti da HTTPS: Collauda API o funzioni dei browser che richiedono un contesto sicuro, come Service Workers, Web Crypto API, Geolocation, ecc.
- Sviluppo API locale: Configura HTTPS per backend API locali, facilitando le chiamate frontend tramite HTTPS.
Prerequisiti
Prima di iniziare, assicurati di avere:
- ServBay installato e attivo su macOS.
- Conoscenza di base del terminale e delle operazioni da riga di comando.
- OpenSSL installato sul sistema (macOS di norma lo include).
Passo 1: Richiedere un certificato SSL di terze parti
Per prima cosa, richiedi un certificato SSL da una CA affidabile (ad es. Let's Encrypt, DigiCert, GlobalSign, Sectigo, ecc.). È essenziale generare una richiesta di firma del certificato (CSR), passaggio chiave per ottenere il certificato.
Generare la chiave privata (Private Key)
La chiave privata è un file critico usato dal server per decifrare il traffico SSL; va custodita con attenzione. Per generare una chiave privata RSA, esegui nel terminale:
shopenssl genpkey -algorithm RSA -out servbay.demo.key -pkeyopt rsa_keygen_bits:2048
1openssl genpkey
: comando OpenSSL per generare la chiave privata.-algorithm RSA
: imposta RSA come algoritmo.-out servbay.demo.key
: il file di output saràservbay.demo.key
.-pkeyopt rsa_keygen_bits:2048
: lunghezza della chiave RSA; 2048 bit sono raccomandati per la maggior parte degli usi.
Generare la richiesta di firma del certificato (CSR)
Il CSR contiene le informazioni necessarie per la richiesta del certificato e la tua chiave pubblica. Crealo utilizzando la chiave privata appena generata:
shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1openssl req
: comando OpenSSL per le CSR.-new
: indica la creazione di una nuova richiesta.-key servbay.demo.key
: specifica la chiave privata.-out servbay.demo.csr
: nome del file CSR di output.
Dopo l'esecuzione, ti verrà chiesto di inserire una serie di informazioni per il CSR. Compila i campi secondo la tua situazione reale o seguendo le direttive della CA. Ecco un esempio:
Country Name (2 letter code) [AU]:IT # Codice paese, es IT (Italia), US (USA) State or Province Name (full name) [Some-State]:Lombardia # Provincia o regione Locality Name (eg, city) []:Milano # Città Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # Nome azienda/organizzazione Organizational Unit Name (eg, section) []:Development # Reparto aziendale (opzionale) Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **Importante: inserisci il dominio FQDN da certificare.** Email Address []:[email protected] # Email di riferimento (opzionale) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # Password sfida (solitamente lasciare vuoto) An optional company name []: # Nome azienda opzionale (solitamente lasciare vuoto)
1
2
3
4
5
6
7
8
9
10
11
12Assicurati che il campo
Common Name
corrisponda esattamente al dominio che userai in ServBay, es:servbay.demo
. Se hai bisogno di un certificato per più domini (SAN/multi-dominio), il processo della CA include opzioni dedicate per specificarli – consulta la loro documentazione o eventuali generatori online per CSR con SAN.Invia il CSR e ottieni i certificati
Copia o carica il file
servbay.demo.csr
sulla piattaforma della CA scelta e completa la verifica richiesta (via DNS, file HTTP o verifica email). Una volta superato il processo, la CA ti invierà:- Il certificato principale (
servbay.demo.crt
oservbay.demo.pem
). - Uno o più certificati intermedi (per la catena di fiducia, ad es.
intermediate.crt
,ca-bundle.crt
). - Il certificato radice (di norma già incluso nei sistemi operativi/browser e non richiesto separatamente).
- Il certificato principale (
Passo 2: Configurare il certificato SSL di terze parti in ServBay
Dopo aver ricevuto i certificati dalla CA, importali e configura ServBay per utilizzare HTTPS.
Si consiglia di mantenere tutti i certificati e le chiavi personalizzate nella directory /Applications/ServBay/ssl/import/tls-certs/
per una gestione ordinata.
Sposta i file di certificato e chiave privata nella directory designata
Copia la chiave privata (
servbay.demo.key
), il certificato principale (servbay.demo.crt
) e tutti i certificati intermedi in/Applications/ServBay/ssl/import/tls-certs/
:shmv servbay.demo.key /Applications/ServBay/ssl/import/tls-certs/ mv servbay.demo.crt /Applications/ServBay/ssl/import/tls-certs/ # Se hai un file di certificato intermedio, spostalo anche mv intermediate.crt /Applications/ServBay/ssl/import/tls-certs/ # Se ci sono altri intermedi, spostali pure # mv another_intermediate.crt /Applications/ServBay/ssl/import/tls-certs/
1
2
3
4
5
6Unisci i certificati intermedi al file del certificato principale
Per garantire che il browser convalidi correttamente la catena dei certificati, aggiungi i contenuti dei certificati intermedi al file principale, seguendo l’ordine indicato dalla CA. Di solito la radice non è necessaria, perché è già nei sistemi degli utenti.
Esempio con un intermediario
intermediate.crt
:shcat intermediate.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1Per più intermediari, aggiungili nell’ordine fornito dalla CA (
intermediate1.crt
->intermediate2.crt
):shcat intermediate1.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt cat intermediate2.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1
2Al termine, il file
servbay.demo.crt
conterrà sia il certificato principale che l’intera catena intermedia.Apri il pannello di controllo ServBay
Avvia l’app di ServBay, trova l’icona nella barra dei menu o sul Dock e apri il pannello di gestione.
Aggiungi o modifica un sito
Dal menù di sinistra seleziona
Siti Web
.- Per aggiungere un nuovo sito, clicca
+
in alto a destra. - Per configurare un certificato su un sito esistente, selezionalo e clicca l’icona modifica (matita).
- Per aggiungere un nuovo sito, clicca
Configura il certificato SSL
Nella sezione SSL della configurazione sito, scegli
Custom
(personalizzato).- Certificate Key File (Chiave privata): clicca il pulsante sfoglia e seleziona dalla directory
/Applications/ServBay/ssl/import/tls-certs/
il file della chiave privata (servbay.demo.key
). - Certificate File (Certificato): clicca su sfoglia e seleziona il file del certificato principale a cui hai aggiunto i certificati intermedi (
servbay.demo.crt
).
(Nota: il percorso dell’immagine è esemplificativo e potrebbe differire nella documentazione ufficiale di ServBay)
- Certificate Key File (Chiave privata): clicca il pulsante sfoglia e seleziona dalla directory
Imposta dominio e root del sito
Assicurati che il campo
Domain
sia impostato sul dominio utilizzato nella richiesta del certificato (servbay.demo
). Configura anche laDocument Root
del sito, ad esempio/Applications/ServBay/www/servbay.demo
.Salva e applica le modifiche
Dopo aver completato la configurazione, clicca su salva. ServBay chiederà di applicare le modifiche e riavviare il relativo server web (Caddy, Nginx o Apache). Conferma e applica.
Verifica della configurazione
Accedi da browser al sito configurato (es: https://servbay.demo
). Se tutto è in ordine, vedrai l’icona del lucchetto nella barra degli indirizzi: cliccandola potrai vedere i dettagli del certificato, verificando che sia quello della CA di terze parti importato e che la catena risulti corretta.
In caso di problemi, verifica:
- Il dominio corrisponde a quello indicato nel Common Name o nei SAN del certificato.
- Il percorso dei file della chiave privata e del certificato è corretto.
- Il file del certificato contiene tutta la catena intermedia e nell’ordine giusto.
- La configurazione del sito su ServBay è stata salvata e applicata.
- Il sistema si fida della CA di emissione (di norma, le CA principali sono già fidate da OS e browser).
Avvertenze e consigli
- Corrispondenza dominio: Il certificato importato deve corrispondere esattamente al dominio impostato in ServBay (compresi eventuali sottodomini per i wildcard).
- Scadenza certificato: I certificati di terze parti hanno una validità limitata. Ricordati di rinnovarli e aggiornare i file in ServBay prima della scadenza.
- Sicurezza della chiave privata: Il file
.key
è molto sensibile: va archiviato protetto e mai condiviso. - Altre opzioni SSL su ServBay: ServBay offre anche soluzioni SSL pratiche:
- ServBay User CA / Public CA: per generare certificati affidabili per lo sviluppo locale su qualunque estensione di dominio.
- ACME (Let's Encrypt): per domini standard, ServBay può integrare un client ACME per richiedere e rinnovare automaticamente certificati Let's Encrypt. Il metodo di import personalizzato descritto qui è utile se hai già ottenuto certificati da altre fonti.
Domande frequenti (FAQ)
Q1: Ho ricevuto un certificato in formato .pfx
o .p12
. Come posso usarlo con ServBay?
A1: I file .pfx
o .p12
contengono sia la chiave privata che la catena di certificati. Devi estrarre chiave privata (.key
) e certificato (.crt
) separati. Ad esempio:
openssl pkcs12 -in your_certificate.pfx -nocerts -out your_private_key.key -nodes
openssl pkcs12 -in your_certificate.pfx -clcerts -nokeys -out your_certificate.crt
2
Dopo l’estrazione, potresti dover aggiungere separatamente il certificato intermedio fornito dalla CA seguendo i passaggi del secondo paragrafo.
Q2: Ho seguito tutti i passaggi, ma il browser indica ancora "connessione non sicura". Che fare?
A2: Controlla questi punti:
- Corrispondenza del dominio: il dominio visitato corrisponde a quello del certificato?
- Completamento catena: il file
.crt
include tutti i certificati intermedi e nell'ordine corretto? Puoi usare strumenti online per verificare la catena SSL. - Riavvio ServBay: hai applicato le modifiche e riavviato il server web?
- Cache browser: svuota la cache o prova in modalità incognito.
- CA fidata dal sistema: la CA emittente è riconosciuta dal sistema operativo?
Conclusioni
Seguendo questa guida, potrai configurare e utilizzare certificati SSL di terze parti nell’ambiente di sviluppo locale su ServBay, simulando accuratamente un setup HTTPS di produzione per uno sviluppo e test locali più affidabili. Pur offrendo diverse soluzioni automatiche (come ACME e le CA interne di ServBay), conoscere il processo di importazione personalizzata è particolarmente utile per specifiche esigenze di certificazione o per migrare certificati già esistenti.