/ SSL CERTIFICAT

Letsencrypt : validation multiples domaine

Mbolo !

Je reviens dans un petit article pour vous reparler de Letsencrypt. En particulier de la génération de certificats pour un serveur en charge de plusieurs domaines via un reverse proxy nginx.

Problème : on a pas toujours la possibilité de servir simplement un dossier web (nécessaire pour le plugin webroot de letsencrypt) dans nos applis expemple: Wordpress, Gitlab …

Si vous ne l’avez pas fait je vous invite à relire mon premier article sur Letsencrypt.

Astuce : Créer un vhost dédié à la validation de domaines. Ainsi, à chaque nouvelle appli on modifira juste le vhost letsencrypt pour rajouter le domaine à valider. Puis une fois le certificat validé on désactive ce vhost et on met en ligne notre nouvelle application SSL.

Prérequis

Méthode

Etape 1

Création d’un dossier webroot qui sera utilisé par letsencrypt.

$ sudo su
$ mkdir /var/www/letsencrypt

Etape 2

Configuration d’un vhost nginx dédié à la validation de domaine avec comme directive root le dossier créé précédemment.

$ sudo nano /etc/nginx/sites-avalaible/vhost-letsencrypt

Contenu du fichier vhost-letsencrypt

server {
    listen 80;
    root /var/www/letsencrypt;
    index index.php index.html index.htm;    
    server_name example.ga shop.example.ga;
}

Activation du vhost-letsencrypt

$ sudo ln -ls /etc/nginx/sites-avalaible/vhost-letsencrypt /etc/nginx/sites-enabled/vhost-letsencrypt
$ sudo service nginx reload

Etape 3

Création du cerificat

$ letsencrypt certonly --webroot -w /var/www/example -d example.com -d www.example.com

Etape 4

Mainetenant que le certificat est créé vous pouver paraméttre votre appli (chemin certificats) pour la mettre en ligne.

Au passage, il faut désactiver le vhost-letsencrypt qui n’est plus utile et qui peut causer un conflit de nom de domaine.

$ sudo mv /etc/nginx/sites-avalaible/vhost-letsencrypt /etc/nginx/sites-avalaible/vhost-letsencrypt-disable
$ sudo service nginx reload

La première commande casse le lien symbolique du vhost se trouvant dans /etc/nginx/sites-avalaible et donc désactive de serveur web.

Pour une nouvelle utilisation il suffit de renommer vhost-letsencrypt-disable en vhost-letsencrypt le modifier pour les nouveau domaines à valider et relancer nginx.