meta données pour cette page
Utiliser Let's Encrypt avec Nginx
Installation et configuration de base
Il faut dans un premier temps stopper le logiciel (Nginx ou Apache2) qui utilise le port 80 :
service nginx stop service apache2 stop
On installe Git pour télécharger ensuite le logiciel let's Encrypt :
apt-get install git -y cd /etc git clone https://github.com/certbot/certbot
On se déplace dans le dossier pour lancer le programme qui va permetre de créer les certifats :
cd certbot ./certbot-auto certonly --standalone --rsa-key-size 4096 --agree-tos --email contact@exemple.com -d example.com -d www.example.com
On remplace ici “example.com” par les domaines ou sous-domaines que l'on souhaite sécuriser.
Il reste plus qu'a renseigner le virtualhost de Nginx (à adapter à votre besoin):
- exemple.com
server { listen 80; listen 443 ssl; server_name exemple.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; root /var/www/html; index index.html; }
Renouveller le certificat
Je ne pense pas que ce soit la commande officielle mais elle fonctionne :
/etc/certbot/letsencrypt-auto certonly --webroot --agree-tos --email contact@exemple.com --renew-by-default -d example.com -d www.example.com
Créer un certificat comme un pro
Ici, ce sera l'utilisateur www-data qui fera la création :
# chmod o+w /var/log/letsencrypt/letsencrypt.log
# sudo -u www-data certbot --cert-name mail.bruno-tatu.com certonly --webroot-path=/mnt/www/rainloop/ -d mail.bruno-tatu.com --rsa-key-size=4096 --hsts --uir --redirect --work-dir=/etc/letsencrypt/ --dry-run
S'il n'y a pas de soucis alors on peut confirmer l'installation :
# sudo -u www-data certbot --cert-name mail.bruno-tatu.com certonly --webroot-path=/mnt/www/rainloop/ -d mail.bruno-tatu.com --rsa-key-size=4096 --hsts --uir --redirect --work-dir=/etc/letsencrypt/