Les protocoles Web TLS (et son prédécesseur SSL) englobent le trafic dans un contenant protégé et chiffré pour :
L'autorité de certification Let's Encrypt fournit gratuitement des certificats TLS/SSL, permettant le HTTPS chiffré sur les serveurs Web. Le logiciel Certbot automatise et facilite les étapes de l'installation d'un certificat. le processus d'obtention et d'installation d'un certificat est entièrement automatisé sur les serveurs Apache et Nginx.
Normalement, Certbot est exécuté par un administrateur sur un serveur web.
Cette page décrit l'installation et l'exécution de Certbot sur un serveur
Ce tutoriel utilise Certbot pour obtenir un certificat SSL gratuit pour Nginx et le configurer pour qu'il se renouvelle automatiquement.
Ce didacticiel utilise un fichier d'hôte virtuel Nginx distinct au lieu du fichier par défaut. Nous recommandons de créer de nouveaux fichiers d'hôte virtuel Nginx pour chaque domaine, pour conserver les fichiers par défaut comme configuration de secours.
Dans ce tutoriel, ce sera le domaine mondomaine.fr
Ce tutoriel utilisera /etc/nginx/sites-available/mondomaine.fr comme exemple.
Sous SSH, installez Certbot sur le serveur web :
...@...:~ $ sudo apt update ...@...:~ $ sudo apt install certbot python-certbot-nginx
Si vous êtes sous Apache, installez python-certbot-apache au lieu de python3-certbot-nginx
Nous allons récupérer depuis Let’s Encrypt un certificat SSL pour notre serveur.
server { <...> server_name mondomaine.fr www.mondomaine.fr; <...> }
Si c'est le cas, quittez votre éditeur et passez à l'étape suivante ; sinon, mettez le fichier à jour pour qu'il corresponde.
...@...:~ $ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
S'il y a des erreurs, rouvrez le fichier de l'hôte et recherchez les fautes de frappe.
...@...:~ $ sudo nginx -s reload
...@...:~ $ sudo ufw status Status: active To Action From -- ------ ---- 80 ALLOW Anywhere 22/tcp ALLOW Anywhere 80 (v6) ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6)
...@...:~$ sudo ufw allow ssh
...@...:~$ sudo certbot --nginx -d mondomaine.fr -d www.mondomaine.fr ... Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): votre@email.fr ... Please read the Terms of Service at ... (A)gree/(C)ancel: A <...> Would you be willing to share your email address with ... ... (Y)es/(N)o: N ... Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ... 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. ... Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 <...>
Cette commande lance certbot avec le plugin –nginx, en utilisant -d pour spécifier les noms de domaine pour lesquels nous voulons un certificat valide.
...@...:~ $ IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2017-10-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - 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
...@...:~$ sudo certbot renew --dry-run
Si vous ne voyez aucune erreur, vous êtes prêt.
...@...:~ $ sudo certbot certonly --nginx
Dans ce didacticiel, nous avons installé le client certbot Let’s Encrypt, téléchargé des certificats SSL pour notre domaine, configuré Nginx pour utiliser ces certificats et configuré le renouvellement automatique des certificats.
Basé sur « How To Set Up Let's Encrypt with Nginx Server Blocks on Ubuntu 16.04 » par Hazel Virdó.