Avoir un site web sécurisé avec SSL (HTTPS) est essentiel aujourd'hui. Google priorise les sites HTTPS dans ses résultats de recherche, reléguant progressivement HTTP aux oubliettes.
Découvrez comment générer et installer gratuitement des certificats SSL via Let's Encrypt en quelques minutes seulement.
Configurer SSL n'a jamais été aussi accessible grâce à Let's Encrypt, une autorité de certification gratuite et reconnue.
Lancée en avril 2016, Let's Encrypt doit sa popularité à son outil Certbot et à son modèle gratuit, adopté par des millions de sites web.
Ce guide suppose un serveur Linux (Ubuntu/Debian) avec un nom de domaine pointant vers son IP. Connectez-vous via SSH et vérifiez l'installation de Certbot :
sudo certbot --versionSi une version s'affiche, passez à la suite. Sinon, installez-le :
sudo apt update && sudo apt install certbot -yArrêtez temporairement votre serveur web :
sudo service nginx stop# ou pour Apache
sudo service apache2 stopVotre domaine doit pointer vers l'IP du serveur. Générez le certificat :
sudo certbot certonly --standalone -d votredomaine.com -d www.votredomaine.comCertbot vérifie le contrôle du domaine et génère les fichiers dans /etc/letsencrypt/live/votredomaine.com/.
Localisez le fichier de config (souvent dans /etc/nginx/sites-enabled/ ou /etc/nginx/conf.d/).
Éditez-le :
sudo nano /etc/nginx/sites-enabled/defaultAjoutez un bloc pour rediriger HTTP vers HTTPS :
server {
listen 80;
server_name votredomaine.com www.votredomaine.com;
return 301 https://$server_name$request_uri;
}Dans le bloc principal, modifiez listen 80; en listen 443 ssl http2; et ajoutez :
ssl_certificate /etc/letsencrypt/live/votredomaine.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/votredomaine.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
Enregistrez (Ctrl+O, Ctrl+X) et testez/rechargez :
sudo nginx -t && sudo systemctl reload nginxVotre site est maintenant en HTTPS sécurisé !
Localisez le fichier dans /etc/apache2/sites-enabled/ :
sudo apache2ctl -SÉditez :
sudo nano /etc/apache2/sites-enabled/000-default.confAjoutez un VirtualHost pour HTTP :
<VirtualHost *:80>
ServerName votredomaine.com
Redirect permanent / https://votredomaine.com/
</VirtualHost>Dans le VirtualHost HTTPS, changez *:80 en *:443 et ajoutez :
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/votredomaine.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/votredomaine.com/privkey.pem
Activez SSL :
sudo a2enmod sslEnregistrez et redémarrez :
sudo systemctl restart apache2Les certificats expirent tous les 90 jours. Renouvelez-les :
sudo certbot renewConfigurez un cron job pour l'automatisation : sudo crontab -e et ajoutez 0 12 * * * /usr/bin/certbot renew --quiet.
Félicitations ! Votre site force désormais HTTPS avec un certificat valide, sans avertissements navigateur.
Vous avez appris à installer Certbot, générer des certificats, configurer Nginx/Apache et automatiser les renouvellements.
Crédit image : Robert Avgustin/Shutterstock
[]