Aller à la recherche

Let's Encrypt et nginx sous FreeBSD

Let's encrypt avec py-certbot et nginx

Nous allons ici mettre en œuvre un certificat SSL grâce au service gratuit let's Encrypt sous l'OS FreeBSD.

Let's encrypt avec nginx sous FreeBSD

Le point de départ de ce billet est l'installation d'nginx sous freebsd Nous commencerons par installer l'utilitaire qui va nous permettre d'automatiser toutes les opérations

Nous utiliserons py-certbot qui s'installe comme ceci @cd /usr/port/security/py-certbot@@ make install

Nous allons créer un répertoire et lui appliquer directement les permissions qui vont bien. Ce répertoire sera utilisé par le script qui va pouvoir y stocker le challenge afin de valider l’identité du site demandeur mkdir -m 750/usr/local/www/.well-known/

Nous ajoutons ensuite à la configuration d'Nginx pour le domaine concerné.

    location /.well-known/ {
                alias /usr/local/www/.well-known/;
        }

N'oublions pas de relancer nginx pour que le répertoire soit accessible service nginx restart

Certbot : la demande du certificat

Puis demandons de créer le certificat. Ici on utilise le mode webroot qui n'oblige par l’arrêt du service web certbot certonly webroot email cert@example.com rsa-key-size 4096 text -w /usr/local/www/ -d www.example.com -d example.com

  • --webroot : Indique que nous allons vérifier le domaine grâce à un challenge placé dans le répertoire .well-known
  • - w : emplacement répertoire .well-known
  • - d : domaine pour lequel on demande le certificat, si plusieurs domaines (www et non), il faut les mètres les uns derrières les autres -d example.com -d www.example.com -d static.example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.binsp.net
Using the webroot path /usr/local/www for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Generating key (4096 bits): /usr/local/etc/letsencrypt/keys/0000_key-certbot.pem
Creating CSR: /usr/local/etc/letsencrypt/csr/0000_csr-certbot.pem

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /usr/local/etc/letsencrypt/live/www.example.com/fullchain.pem. Your
   cert will expire on 2017-03-03. To obtain a new or tweaked version
   of this certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Vous voilà avec de beaux certificats, nous allons maintenant indiquer à nginx de les utiliser pour cela ajoutons

server {
...
    listen        192.168.100.80:443 ssl;
...
       ssl_certificate             /usr/local/etc/letsencrypt/live/www.example.com/fullchain.pem;
       ssl_certificate_key         /usr/local/etc/letsencrypt/live/www.example.com/privkey.pem;
       ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
...
}

Nous pouvons maintenant relancer nginx et tester notre joli https (qui expire dans 3 mois).

La discussion continue ailleurs

URL de rétrolien : https://www.binsp.net/?trackback/34

Fil des commentaires de ce billet

Page top