SSL con LetsEncrypt

Social

Cuando el protocolo HTTP se actualice a su versión 2, todas los sitios webs deberán tener un certificado SSL valido para que las conexiones sean seguras. Los navegadores bloquearan o mostraran explicitamente como “no seguras” las que no lo tengan, penalizando en su posicionamiento y veracidad. Para poder crear fácil y rápidamente los certificados adecuados en nuestros servidores web Apache podemos utilizar OpenSSL o LetsEncript.

La opción más facil es LetsEncript, sobretodo si no queremos perder demasiado tiempo.
Para ello, en sistemas Debian o Ubuntu 16.04 o posterior, tenemos que tener instalado CertBot, así que utilizaremos el siguiente comando:

sudo apt-get install python-letsencrypt-apache

Una vez instalado podemos empezar a crear certificados con este comando, substituyendo dominio.com por el tuyo:
letsencrypt certonly –standalone -d dominio.com -d www.dominio.com

El parámetro –standalone hace que no se realice la configuración de Apache automaticamente, ya que puede dar problemas, y en realidad es muy sencillo de hacer manualmente. A continuación de la opción -d escribiremos el dominio y subdominios.

Ahora iremos al archivo de configuración del sitio en Apache y buscaremos la etiqueta <virtualhost *:80> y cambiaremos el puerto 80 por el 443.

Si tienes configurado correctamente Apache, tendrás un archivo por cada dominio dentro de /etc/apache2/sites-available.

Pues simplemente añadiremos estas lineas, modificando la ruta del certificado por la que te ha generado tu LetsEncript.

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/midominio.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/midominio.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/midominio.com/chain.pem

Añadiremos la redirección del puerto 80 a 443 (HTTPS/ SSL)


# DOMAIN: midominio.com
# PORT FORWARD FROM 80 TO: 443
<virtualhost *:80>
ServerNamemidominio.com
ServerAlias www.midominio.com
ServerAdmin info@midominio.com
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</virtualhost>
# END DOMAIN: midominio.com

Una vez modificado el fichero y guardado, reiniciaremos el servicio de Apache, y al llamar a tu dominio, ya deberia cargar automaticamente en https.

 sudo service apache2 restart

Ahora debería aparecer en el navegador el candado y “Es seguro” como en la siguiente imagen:

Si no aparece, es posible que tu pagina web contenga enlaces o imágenes apuntando a tu mismo sitio, pero en http y no https. Revisa los src de las imágenes y debería solucionarse.

¿Te ha parecido útil? ¡Compártelo por favor!

 

 

Xavi Gonzalez Autor

Técnico en explotación de sistemas informáticos y Técnico Superior de Administración de sistemas en red y de Desarrollo de Aplicaciones Web. Actualmente como Responsable técnico y desarrollador web en Egardata Informàtica, en Terrassa.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*