====== Nginx & Let's Encrypt ======
===== Configuration du VirtualHost HTTP =====
* Ajouter le bloc suivant dans la configuration du //Virtualhost// HTTP du site: # Allow Let's Encrypt ACME challenge
location ~ /\.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
root /var/www/certbot;
try_files $uri =404;
break;
}
Ce bloc doit être positionné avant toutes configurations pouvant influé sur une requête commençant par ''/.well-known/acme-challenge/'', comme par exemple une redirection systématique vers HTTPS.
* Créer le dossier ''/var/www/certbot/.well-known/acme-challenge/'' ainsi qu'un fichier index.html dans celui-ci: mkdir -p /var/www/certbot/.well-known/acme-challenge/
echo "No site here" > /var/www/certbot/.well-known/acme-challenge/index.html
* Tester le bon fonctionnement: service nginx reload
curl http://my.domain.tld/.well-known/acme-challenge/index.html
Si tout fonctionne comme prévu, la dernière commande devrait vous retourner:
No site here
===== Génération du certificat =====
certbot certonly --non-interactive --agree-tos --webroot --webroot-path /var/www/certbot --email webmaster@domain.tld -d my.domain.tld -d ${AUTRE_FQDN} -d ${AUTRE_FQDN_SI_BESOIN} --post-hook "systemctl reload nginx"
===== Configuration du VirtualHost HTTPS =====
Ajouter les lignes suivantes pour utiliser le certificat nouvellement généré: ssl_certificate /etc/letsencrypt/live/my.domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my.domain.tld/privkey.pem;