informatique:reseau:nginx:letsencrypt

Nginx & Let's Encrypt

  • 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
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"

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;
  • informatique/reseau/nginx/letsencrypt.txt
  • Dernière modification : 2020/09/17 15:24
  • de bn8