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 !