Let's Encrypt your Nginx !
Let’s Encrypt est un projet d’autorité de certification gratuite, automatisé et libre.
Concrètement, cela nous permet notamment d’avoir des sites et applications web en https, reconnues comme dignes de confiance par les navigateurs internet. Et cela sans payer et surtout basé sur des logiciels open source !
La beta est ouverte au public depuis jeudi, j’en ai donc profité pour remplacer les certificats auto-signés de mon GitLab sous Nginx par de vrais certificats “made by” Let’s Encrypt.
Installation et génération des certificats
L’installation de Let’s Encrypt est simple, il suffit de cloner le repository et de lancer un script qui va installer la bonne version du logiciel selon l’OS.
La cible de Let’s Encrypt est de fournir un service permettant d’automatiser la génération des certificats et leur renouvellement. Cela marche bien pour un serveur Apache mais pas encore pour Nginx (ne pas oublier que c’est une beta).
On va donc lui demander de seulement générer les certifacts et de ne pas tout gérer. Pour cela, il suffit de stopper Nginx (la coupure ne sera pas très longue) et lancer la génération du certificat pour son domaine.
Et voilà, les certifacts sont prềts dans /etc/letsencrypt/live/my-gitlab-domain.fr/
Redémarrer nginx et configurer le domaine
On redémarre le service Nginx.
Et on modifie la configuration de notre serveur Nginx.
On recharge la configuration pour qu’elle soit prise en compte par Nginx.
Le tour est joué !
Renouvellement
Le certificat est valide pour 60 jours et sans renouvellement automatique pour Nginx pour l’instant, il suffira de relancer la commande pour le renouveller.
Sources: