introduzione
Let's Encrypt è un'autorità di certificazione (CA) che emette certificati SSL / TLS gratuiti. Lighttpd è un server web leggero che funziona con risorse limitate. Let's Encrypt I certificati SSL possono essere facilmente installati su un server Lighttpd usando Certbot, un client software che automatizza la maggior parte del processo di ottenimento dei certificati.
Prerequistes
Questo tutorial presuppone che tu abbia già creato un'istanza di Vultr Cloud Compute con Lighttpd installato su Ubuntu 16.04 , abbia un nome di dominio che punta al tuo server e hai effettuato l'accesso come root.
Fase 1: installare Certbot
Il primo passo è installare Certbot. Aggiungi il repository Certbot. Premere Enter
quando viene richiesta la conferma.
add-apt-repository ppa:certbot/certbot
Installa Certbot.
apt-get update
apt-get install certbot
Fase due: ottenere il certificato SSL
Una volta installato Certbot, è possibile ottenere un certificato SSL. Esegui il comando seguente, sostituendolo example.com
con il tuo nome di dominio:
certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
Continua attraverso il programma di installazione interattiva.
Passaggio 3: installare i file dei certificati da utilizzare con Lighttpd
Certbot inserirà i file di certificato ottenuti in /etc/letsencrypt/live/example.com
. Dovrai concedere all'utente Lighttpd l'accesso a questa directory.
chown :www-data /etc/letsencrypt
chown :www-data /etc/letsencrypt/live
chmod g+x /etc/letsencrypt
chmod g+x /etc/letsencrypt/live
Lighttpd richiede che il certificato e la chiave privata siano in un singolo file. Dovrai combinare i due file. Esegui il comando seguente, sostituendolo example.com
con il tuo nome di dominio.
cat /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/live/example.com/cert.pem > /etc/letsencrypt/live/example.com/merged.pem
I file privkey.pem
e cert.pem
verranno combinati e salvati come merged.pem
.
Una volta che i file del certificato sono pronti, è possibile continuare e configurare Lighttpd per utilizzare il certificato SSL. Apri il file di configurazione di Lighttpd per la modifica.
nano /etc/lighttpd/lighttpd.conf
Aggiungi il seguente blocco alla fine del file, sostituendolo example.com
con il tuo nome di dominio,
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.ca-file = "/etc/letsencrypt/live/example.com/chain.pem"
ssl.pemfile = "/etc/letsencrypt/live/example.com/merged.pem"
}
Passaggio 5: forzare l'utilizzo SSL
Per maggiore sicurezza, puoi forzare il tuo server Lighttpd a indirizzare tutte le richieste HTTP a HTTPS. Apri il lighttpd.conf
file per la modifica.
nano /etc/lighttpd/lighttpd.conf
Aggiungi il seguente blocco alla fine del file,
$HTTP["scheme"] == "http" {
$HTTP["host"] =~ ".*" {
url.redirect = (".*" => "https://%0$0")
}
}
Sarà necessario riavviare il server Lighttpd per rendere effettive le modifiche.
systemctl restart lighttpd
Rinnovo del certificato SSL
Let's Encrypt rilascia certificati SSL con una validità di 90 giorni. Sarà necessario rinnovare il certificato prima che scada per evitare errori di certificato. Puoi rinnovare il certificato con Certbot.
certbot renew
Dovrai combinare il certificato e la chiave privata per Lighttpd. Esegui il comando seguente, sostituendolo example.com
con il tuo nome di dominio.
cat /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/live/example.com/cert.pem > /etc/letsencrypt/live/example.com/merged.pem
Il certificato verrà rinnovato per altri 90 giorni.