Mkcert è uno strumento gratuito, semplice e molto utile che consente di creare un certificato attendibile a livello locale senza acquistarlo dalla CA reale. Gli sviluppatori di solito lavorano sul sistema locale ed è sempre impossibile utilizzare il certificato attendibile di CA su localhost. Mkcert ti consente di gestire i tuoi certificati senza problemi.
In questo post, ti mostreremo come creare un certificato SSL affidabile per lo sviluppo locale utilizzando Mkcert su Ubuntu 20.04.
Prerequisiti
- Un sistema che esegue Ubuntu 20.04 Desktop.
- Sul server è configurata una password di root.
Per iniziare
Innanzitutto, aggiorna i pacchetti di sistema alla versione aggiornata eseguendo il comando seguente:
apt-get update -y
Una volta aggiornati tutti i pacchetti, puoi procedere al passaggio successivo.
Installa Mkcert
Prima di installare l'utilità Mkcert, dovrai installare i pacchetti richiesti sul tuo server. Puoi installarlo con il seguente comando:
apt-get install wget libnss3-tools
Una volta installati tutti i pacchetti, scarica l'ultima versione di Mkcert da Github.
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
Dopo aver scaricato Mkcert, sposta il file binario scaricato nel percorso di sistema:
mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert
Quindi, imposta l'autorizzazione di esecuzione su mkcert:
chmod +x /usr/bin/mkcert
Successivamente, verifica la versione di Mkcert con il seguente comando:
mkcert --version
Dovresti vedere il seguente output:
v1.4.3
Genera CA locale
Ora, esegui il comando seguente per generare un certificato CA locale:
mkcert -install
Dovresti vedere il seguente output:
Created a new local CA ???? The local CA is now installed in the system trust store! ?? The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! ????
Puoi controllare il percorso del certificato CA utilizzando il seguente comando:
mkcert -CAROOT
Dovresti vedere il seguente output:
/root/.local/share/mkcert
Genera un certificato per il sito web locale
Successivamente, puoi generare il certificato e il file chiave per il tuo sito Web ospitato localmente utilizzando il comando seguente:
mkcert app.example.com localhost 127.0.0.1 ::1
Dovresti vedere il seguente output:
Created a new certificate valid for the following names ???? - "app.example.com" - "localhost" - "127.0.0.1" - "::1" The certificate is at "./app.example.com+3.pem" and the key at "./app.example.com+3-key.pem" ? It will expire on 1 November 2023 ????
Configura Nginx per utilizzare il certificato generato
Successivamente, dovrai configurare il server web Nginx per utilizzare i certificati generati.
Per prima cosa, copia i file del certificato generato nella directory /etc/ssl/:
cp app.example.com+3* /etc/ssl/
Quindi, imposta la proprietà corretta sulla directory principale web di Nginx:
chown -R www-data:www-data /var/www/html/
Quindi, crea un file di configurazione dell'host virtuale Nginx con il seguente comando:
nano /etc/nginx/conf.d/app.conf
Aggiungi le seguenti righe:
server { listen 80; server_name app.example.com; root /var/www/html; } server { listen *:443 ssl; root /var/www/html; server_name app.example.com; ssl_certificate /etc/ssl/app.example.com+3.pem; ssl_certificate_key /etc/ssl/app.example.com+3-key.pem; }
Salva e chiudi il file al termine, quindi verifica Nginx per eventuali errori di sintassi:
nginx -t
Dovresti vedere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Quindi, riavvia il servizio Nginx per applicare le modifiche:
systemctl restart nginx
Quindi, modifica il file /etc/hosts e associa il tuo app.example.com al tuo indirizzo IP di sistema:
nano /etc/hosts
Aggiungi le seguenti righe:
your-server-ip app.example.com
Verifica SSL per il tuo dominio
Ora apri il tuo browser web e digita l'URL https://app.example.com . Dovresti vedere che il tuo dominio è protetto con Mkcert.
Ora, fai clic sul Blocco icona. Dovresti vedere le informazioni sul tuo certificato nella pagina seguente:
Conclusione
Congratulazioni! hai installato con successo Mkcert e creato un certificato CA affidabile per il tuo sviluppo locale. Consiglierei di utilizzare Mkcert solo per l'ambiente di sviluppo. Non è consigliato per l'ambiente di produzione.