Installer Let's Encrypt sur un serveur Cloud avec nginx et certbot (certonly)

Testez-le maintenant pour 1 euro seulement !
Vous avez de grands projets d’hébergement avec beaucoup de ressources ? Avec le CloudServer (VPS) de hosting.fr, ce n’est pas un problème. Grâce à notre vaste gamme d’outils d’hébergement, vous bénéficiez d’une liberté absolue. Bien entendu, vous pouvez choisir librement le système d’exploitation en appuyant sur un bouton.
Réserver un serveur cloud maintenant

Introduction

Pour utiliser les certificats Let’s Encrypt sans que Certbot ne modifie la configuration du serveur web, il est nécessaire de préparer correctement le serveur web pour le défi HTTP.

Conditions préalables

  • Vous disposez d’un serveur Cloud hosting.fr qui possède un enregistrement DNS valide, par exemple demo.mustermann-domain.fr.
  • Un accès shell privilégié sur le système.

Installer les paquets

apt update
apt install nginx certbot

Configurer Nginx

Créer un répertoire pour les défis HTTP

mkdir /var/www/letsencrypt

Créer un extrait Nginx à inclure dans différents vhosts sous /etc/nginx/snippets/letsencrypt.conf avec le contenu suivant

location ^~ /.well-known/acme-challenge/ {
    default_type "text/plain";
    root /var/www/letsencrypt;
}

Modifier la configuration pour le vhost (par exemple sous /etc/nginx/sites-enabled/demo.mustermann-domain.fr)

server {
    listen 80;
    # si l'enregistrement AAAA est défini
    listen [::]:80;
    server_name demo.mustermann-domain.fr;
    include snippets/letsencrypt.conf;
    location / {
        return 301 https://$server_name$request_uri;
    }
}

Ensuite, vérifier la configuration Nginx avec nginx -t pour vérifier l’exactitude, puis redémarrer le serveur web (systemctl restart nginx.service)

Configurer Certbot

Si vous ne souhaitez pas recevoir d’emails de rappel pour les certificats expirants, vous pouvez également exécuter certbot sans adresse email (--register-unsafely-without-email)

certbot certonly --webroot -w /var/www/letsencrypt/ -d demo.mustermann-domain.fr --register-unsafely-without-email

Après que certbot ait terminé, vérifiez avec systemctl list-timers si le certbot.timer est actif.

Intégrer les certificats dans Nginx

Si vous n’avez pas encore intégré de certificats SSL/TLS dans Nginx, vous pouvez utiliser le Générateur de configuration SSL de Mozilla comme aide. Si la même configuration SSL doit être utilisée dans plusieurs vhosts, il est également conseillé d’utiliser un extrait. Pour cela, créez le fichier /etc/nginx/snippets/mozilla-modern.conf avec le contenu suivant

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # environ 40000 sessions
    ssl_session_tickets off;

    ssl_protocols TLSv1.3;
    ssl_prefer_server_ciphers off;

    add_header Strict-Transport-Security "max-age=63072000" always;

    ssl_stapling on;
    ssl_stapling_verify on;

    resolver 95.129.51.51;

Ensuite, le fichier /etc/nginx/sites-enabled/demo.mustermann-domain.fr doit être étendu pour utiliser les certificats

server {
    server_name demo.mustermann-domain.fr;

    include snippets/mozilla-modern.conf;

    ssl_certificate /etc/letsencrypt/live/demo.mustermann-domain.fr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/demo.mustermann-domain.fr/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/demo.mustermann-domain.fr/fullchain.pem;

    . . .

}

Enfin, vérifiez à nouveau la configuration Nginx avec nginx -t pour vérifier son exactitude et redémarrer le serveur web (systemctl restart nginx.service)

Références

N'hésitez pas à vous inscrire à notre newsletter



Nous vous remercions de votre inscription à la newsletter hosting.fr.
Introduction Serveur Cloud Nginx Certbot SSL Configuration