Self-hosting for teams - 3 - SSL Let's encrypt

Let's encrypt délivre des certificats pour passer votre site en HTTPS. La procédure est simple et utilise l'outil certbot.

Installer tout d'abord certbot :

sudo apt install certbot

Puis lancez certbot (en remplaçant “votredomaine.org” par votre nom de domaine).

sudo certbot certonly --manual --preferred-challenges=dns --email="votre@email.com" --server="https://acme-v02.api.letsencrypt.org/directory" --agree-tos -d="*.votredomaine.org"

Après une ou deux validations, Let's encrypt vous fournira une chaîne de caractères aléatoires, copiez la. Ne confirmez pas la commande. Vous devez ensuite ajouter une règle dans votre zone DNS (de type txt) :

_acme-challenge 900 IN TXT "CHAINE_DE_CARACTERES"

Validez ensuite dans certbot. Vos clés et certificats sont alors dans le répertoire /etc/letsencrypt/live/votredomaine.org/.

Il faut éditer la configuration générale de Nginx, ouvrez le fichier /etc/nginx/nginx.conf

sudo nano /etc/nginx/nginx.conf

à la fin du bloc http, on remplace nos deux lignes :

	# Custom
	ssl_certificate /tmp/domain.crt;
	ssl_certificate_key /tmp/domain.key;

par (en remplaçant “votredomaine.org” par votre nom de domaine) :

	# Custom
	ssl_certificate /etc/letsencrypt/live/votredomaine.org/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/votredomaine.org/privkey.pem;

Pour prendre le changement en compte, rechargez la configuration de Nginx:

sudo systemctl reload nginx

ou, s'il n'a pas démarré :

sudo systemctl start nginx

Testez dans un navigateur que vos certificats sont bien reconnus et valides !