CitizenZ

Blog Libre, Net & Société

Let's Encrypt et Nginx : config rapide sous Ubuntu

Rédigé par citizenz Aucun commentaire
Voici un petit tuto simple, pratique et rapide pour configurer un certificat Let's Encrypt pour votre site web (avec Nginx). J'utilise un serveur Ubuntu 16.04.

PRÉREQUIS : Certbot a besoin d'un fichier vhost Nginx existant, même minimaliste, mais avec une partie "server {  }" déjà en place.

Pour tout changement effectué, vérifiez la syntaxe Nginx avec cette commande :  $ sudo nginx -t

1 - installation de Certbot (version stable) :
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt update
$ sudo apt install python-certbot-nginx

Si la commande add-apt-repository n'est pas disponible, installer les 2 paquets suivants :
$ sudo apt install software-properties-common python-software-properties


2 - Obtention d'un certificat SSL Let's Encrypt :
$ sudo certbot --nginx -d example.com -d www.example.com

  • Aucune autre option n'est à préciser. L'option --nginx s'occupe de tout, même de la config de votre fichier vhost !
  • Vous remarquerez que Certbot a ajouté un fichier /etc/letsencrypt/options-ssl-nginx.conf qui comporte toutes les bonnes options.
  • Si c'est votre première demande, vous devrez rentrer une adresse e-mail de contact et accepter les "termes du service". Vous devez ensuite choisir d'accepter les connexions HTTP et HTTPS ou seulement les connexions HTTPS pour votre site.

3 - Configuration supplémentaire avec Diffie-Hellman :
$ sudo mkdir -p /etc/nginx/ssl
$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

Puis dans votre fichier vhost nginx, ajoutez la ligne suivante :
ssl_dhparam /etc/nginx/ssl/dhparam.pem;

Ajoutez également les lignes suivantes :
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/www.mondomaine.com/fullchain.pem;


# Google DNS, Open DNS, Dyn DNS
resolver 8.8.8.8 8.8.4.4 208.67.222.222 208.67.220.220 216.146.35.35 216.146.36.36 valid=300s;
resolver_timeout 3s;

Et relancer Nginx :
$ sudo /etc/init.d/nginx restart

4 - Renouvellement automatique des certificats
$ sudo crontab -e
15 3 * * * /usr/bin/certbot renew --quiet

Avec cette config (intégrant la config "par défaut" de certbot + l'ajout du Diffie Hellman), vous devriez obtenir un A sur SSL Labs (https://www.ssllabs.com/ssltest/ ).

SOURCES
: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04
CitizenZ : Geek quadra nivernais
épris d'ovalie, de musique, de Libre, de linuxeries et de Net !

Écrire un commentaire

 Se rappeler de moi sur ce site
Quelle est la quatrième lettre du mot sqybqj ?

Fil RSS des commentaires de cet article