====== 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;