Utiliser Let's Encrypt avec Nginx

Tutoriel pour configurer un certificat SSL Let's Encrypt avec Nginx.

Introduction

L'installation d'un certificat SSL devrait être par défaut sur un nouveau site web. Si vous n'avez pas le budget pour l'achat d'un certificat SSL, il est maintenant possible d'installer un certificat gratuit avec Let's Encrypt. L'utilisation d'un tel certificat n'est pas moins sécuritaire qu'un certificat payant et même dans certains cas pourrait être vu comme étant mieux puisque la clé privée change fréquemment. (Valide pour une période de seulement 3 mois).

Voici les instructions pour l'installation avec un script CertBot pour Nginx sur Ubuntu 18.04.

Ajouter Certbot PPA

Authentifiez-vous en SSH sur le serveur. Notez que vous devez avoir le privilège sudo/root.

Vous devrez ajouter le Certbot PPA à votre liste de référentiels. Pour ce faire, exécutez les commandes suivantes sur la ligne de commande de la machine:

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update

Installation du script Certbot

Exécutez cette commande sur la ligne de commande de la machine pour installer Certbot.

sudo apt-get install certbot python-certbot-nginx

Choisissez comment vous souhaitez exécuter Certbot Soit obtenez et installez vos certificats ... Exécutez cette commande pour obtenir un certificat et demander à Certbot de modifier automatiquement votre configuration Nginx pour la servir, en activant l'accès HTTPS en une seule étape.

sudo certbot --nginx

Ou, obtenez simplement un certificat Si vous vous sentez plus conservateur et que vous souhaitez apporter manuellement les modifications à votre configuration Nginx, exécutez cette commande.

sudo certbot certonly --nginx

Tester le renouvellement automatique

Les packages Certbot sur votre système sont livrés avec une tâche cron ou une minuterie systemd qui renouvellera automatiquement vos certificats avant leur expiration. Vous n'aurez pas besoin d'exécuter à nouveau Certbot, sauf si vous modifiez votre configuration. Vous pouvez tester le renouvellement automatique de vos certificats en exécutant cette commande:

sudo certbot renouvelle --dry-run

La commande de renouvellement de certbot est installée dans l'un des emplacements suivants:

/etc/crontab /
/etc/cron.*/*
systemctl list-timers

Confirmer que Certbot a fonctionné

Pour confirmer que votre site est correctement configuré, visitez https://yourwebsite.com/ dans votre navigateur et recherchez l'icône de verrouillage dans la barre d'URL. Si vous souhaitez vérifier que vous disposez de l'installation haut de gamme, vous pouvez vous rendre sur https://www.ssllabs.com/ssltest/.

Configuration Nginx

Vérifier que la configuration Nginx de votre site contient les informations du certificat SSL.

server {
    # Activer HTTP/2 (optionel).
    listen 443 ssl http2;

    # Let's Encrypt SSL
    ssl_certificate /etc/letsencrypt/live/[yourwebsite.com]/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/[yourwebsite.com]/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

Autres suggestions

Rediriger HTTP à HTTPS avec Nginx

Nginx

Tutoriel pour configurer un redirection des requêtes HTTP vers HTTPS dans Nginx.

Optimisation de la configuration Nginx pour WordPress

Nginx WordPress

Tutoriel pour configurer Nginx de manière optimale avec WordPress.

Copyright 2017-2020 © webO3 - tout droit réservé