Introducción
Let's Encrypt es una Autoridad de certificación (CA) que emite certificados SSL / TLS gratuitos. Lighttpd es un servidor web liviano que funciona con pocos recursos. Let's Encrypt Los certificados SSL se pueden instalar fácilmente en un servidor Lighttpd utilizando Certbot, un cliente de software que automatiza la mayor parte del proceso de obtención de los certificados.
Prerrequisitos
Este tutorial asume que ya ha creado una instancia de Vultr Cloud Compute con Lighttpd instalado en Ubuntu 16.04 , tiene un nombre de dominio que apunta a su servidor y ha iniciado sesión como root.
Paso uno: Instale Certbot
El primer paso es instalar Certbot. Agregue el repositorio de Certbot. Presione Enter
cuando se le solicite confirmación.
add-apt-repository ppa:certbot/certbot
Instalar Certbot.
apt-get update
apt-get install certbot
Paso dos: Obtenga el certificado SSL
Una vez que Certbot está instalado, puede obtener un certificado SSL. Ejecute el siguiente comando, reemplazando example.com
con su propio nombre de dominio:
certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
Continúe a través del instalador interactivo.
Paso tres: Configurar archivos de certificado para usar con Lighttpd
Certbot colocará los archivos de certificado obtenidos en /etc/letsencrypt/live/example.com
. Deberá otorgarle al usuario de Lighttpd acceso a este directorio.
chown :www-data /etc/letsencrypt
chown :www-data /etc/letsencrypt/live
chmod g+x /etc/letsencrypt
chmod g+x /etc/letsencrypt/live
Lighttpd requiere que el certificado y la clave privada estén en un solo archivo. Deberá combinar los dos archivos. Ejecute el siguiente comando, reemplazando example.com
con su propio nombre de dominio.
cat /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/live/example.com/cert.pem > /etc/letsencrypt/live/example.com/merged.pem
Los archivos privkey.pem
y cert.pem
se combinarán y guardarán como merged.pem
.
Una vez que los archivos de su certificado estén listos, puede continuar y configurar Lighttpd para usar el certificado SSL. Abra el archivo de configuración Lighttpd para editarlo.
nano /etc/lighttpd/lighttpd.conf
Agregue el siguiente bloque al final del archivo, reemplazándolo example.com
con su propio nombre de 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"
}
Paso cinco: Forzar el uso de SSL
Para mayor seguridad, puede forzar a su servidor Lighttpd a enrutar todas las solicitudes HTTP a HTTPS. Abre el lighttpd.conf
archivo para editarlo.
nano /etc/lighttpd/lighttpd.conf
Agregue el siguiente bloque al final del archivo,
$HTTP["scheme"] == "http" {
$HTTP["host"] =~ ".*" {
url.redirect = (".*" => "https://%0$0")
}
}
Deberá reiniciar el servidor Lighttpd para que los cambios surtan efecto.
systemctl restart lighttpd
Renovación del certificado SSL
Let's Encrypt emite certificados SSL con una validez de 90 días. Deberá renovar su certificado antes de que caduque para evitar errores en el certificado. Puede renovar el certificado con Certbot.
certbot renew
Deberá combinar el certificado y la clave privada para Lighttpd. Ejecute el siguiente comando, reemplazando example.com
con su nombre de dominio.
cat /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/live/example.com/cert.pem > /etc/letsencrypt/live/example.com/merged.pem
Su certificado se renovará por otros 90 días.