Let's Encrypt es una entidad certificadora que brinda certificados SSL gratuitos, es sencillo de configurar, vamos a ver como se hace.
Debido a su reciente lanzamiento los certificados tienen una duración de 3 meses, luego de ese periodo se puede hacer la renovación tambien de forma gratuita.
1. Instalar Let's Encrypt
Una vez conectados al servidor donde instalaremos el certificado ejecutamos:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help
2. Obtener un certificado
Antes de continuar debemos parar nuestro servidor web ya que Let's Encrypt necesita que este libre el puerto 80 para que pueda generar el certificado
./letsencrypt-auto certonly --standalone --email me@mydomain.com -d mydomain.com
Se puede agregar tantos dominios como se desee usando -d
, por ejemplo podemos hacer algo así: -d mail.mydomain.com -d blog.mydomain.com
.
Luego de terminado el proceso encontraremos los archivos necesarios para la configuración de nuestro servidor web en /etc/letsencrypt/live/mydomain/
.
3. Configurar nginx
Debemos configurar nuestro archivo de configuración de nginx de la siguiente manera:
listen 443 ssl;
server_name mydomain.com;
ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
Antes de iniciar nginx validamos la configuración con nginx -t
, luego ejecutamos sudo service nginx start
, ahora podemos acceder a mydomain.com
y veremos que nuestro certificado esta funcionando.
Conclusión
Let's Encrypt es genial, en pocos minutos tenemos nuestro sitio configurado con un certificado SSL, este blog esta usando actualmente un certificado de Let's Encrypt 😃.