Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
tutoriel:internet:nginx:ssl:letsencrypt:start [2020/09/04 22:27] admintutoriel:internet:nginx:ssl:letsencrypt:start [2021/01/24 09:37] – [Autres étapes] admin
Ligne 7: Ligne 7:
   * permettre aux utilisateurs de vérifier l'identité des sites auxquels ils se connectent.   * permettre aux utilisateurs de vérifier l'identité des sites auxquels ils se connectent.
  
-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 erveurs Apache et Nginx.+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.
  
 Ce tutoriel utilise Certbot pour obtenir un certificat SSL gratuit pour Nginx et le configurer pour qu'il se renouvelle automatiquement. 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. 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.
-===== Pré-requis =====+====== Pré-requis ======
  
-  * Un serveur Ubuntu avec un utilisateur non root disposant des privilèges sudo. +  * **avoir enregistré officiellement le nom de domaine** avec lequel vous souhaitez utiliser le certificat. Ce nom de domaine doit être configuré et pointer vers votre site (adresse IP)<WRAP center round info 60%> 
-  * **Nginx** installé +Dans ce tutoriel, ce sera le domaine **mondomaine.fr** 
-  * posséder le **nom de domaine** enregistré avec lequel vous souhaitez utiliser le certificat. +</WRAP> 
-  * Un **enregistrement DNS A** qui fait pointer votre domaine vers l'adresse IP publique de votre serveur+  * **[[logiciel:internet:nginx:start|Nginx]]** installé avec un bloc //server// pour votre domaine.<WRAP center round info 60%> 
-===== Première étape : Installation de Certbot =====+Ce tutoriel utilisera **/etc/nginx/sites-available/mondomaine.fr** comme exemple. 
 +</WRAP> 
 +====== Première étape : Installation de Certbot ======
  
-Pour installer Certbot, exécutez :<cli>...@...:~$ sudo apt update && sudo apt install certbot python-certbot-nginx python-certbot-apache</cli> +Exécutez :<cli>...@...:~ $ sudo apt update 
-===== Autres étapes =====+...@...:~ $ sudo apt install certbot python-certbot-nginx python-certbot-apache</cli> 
 + 
 +====== Autres étapes ======
  
 Nous allons récupérer depuis Let’s Encrypt un certificat SSL pour notre serveur. Nous allons récupérer depuis Let’s Encrypt un certificat SSL pour notre serveur.
- +<subnumberlist> 
-==== Configuration de Nginx ==== +  - **__Configuration de Nginx__** : 
- +    **Certbot** recherche dans votre config de Nginx une directive **server_name** correspondant au domaine pour lequel vous demandez un certificat. 
-Pour configurer automatiquement SSL pour Nginx, **Certbot** doit pouvoir de trouver le bloc server correct dans votre config+      Si vous avez bien configuré l'hôte virtuel lors l'installation de Nginx, le fichier **/etc/nginx/sites-available/mondomaine.fr** doit contenir un bloc //server// pour votre domaine avec la directive **server_name** définie de manière appropriée :<code /etc/nginx/sites-available/mondomaine.fr>
- +
-Pour ce faire, il recherche une directive server_name correspondant au domaine pour lequel vous demandez un certificat. +
- +
-Si vous avez bien configuré l'hôte virtuel lors l'installation de Nginx, le fichier **/etc/nginx/sites-available/your_domain** doit contenir un bloc server pour votre domaine avec la directive **server_name** définie de manière appropriée+
-  - Pour le vérifier, ouvrez avec les droits d'administration le fichier **/etc/nginx/sites-available/your_domain** et recherchez la ligne server_name qui devrait ressembler à ceci :<code txt /etc/nginx/sites-available/your_domain>+
 server { server {
 <...> <...>
-    server_name your_domain www.your_domain;+    server_name mondomaine.fr www.mondomaine.fr;
 <...> <...>
 } }
 </code>Si c'est le cas, quittez votre éditeur et passez à l'étape suivante ; sinon, mettez le fichier à jour pour qu'il corresponde. </code>Si c'est le cas, quittez votre éditeur et passez à l'étape suivante ; sinon, mettez le fichier à jour pour qu'il corresponde.
-  - Vérifiez la syntaxe de vos modifications de configuration avec :<cli>...@...:~$ sudo nginx -t+    - Vérifiez la syntaxe de vos modifications de configuration avec :<cli>...@...:~ $ sudo nginx -t
 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful</cli>S'il y a des erreurs, rouvrez le fichier de l'hôte et recherchez les fautes de frappe. nginx: configuration file /etc/nginx/nginx.conf test is successful</cli>S'il y a des erreurs, rouvrez le fichier de l'hôte et recherchez les fautes de frappe.
-  - Si cela fonctionne sans erreur, rechargez Nginx pour charger la nouvelle configuration :<cli>...@...:~$ sudo nginx -s reload</cli> +    - Si cela fonctionne sans erreur, rechargez Nginx pour charger la nouvelle configuration :<cli>...@...:~ $ sudo nginx -s reload</cli> 
- +    Certbot peut maintenant trouver le bon bloc server et le mettre à jour. 
-Certbot peut maintenant trouver le bon bloc server et le mettre à jour. +  - **__Autoriser HTTPS sur le pare-feu__** ; si le pare-feu **ufw** est activé, ajustez les paramètres pour autoriser le trafic HTTPS : 
- +    - Affichez le réglage actuel :<cli>...@...:~$ sudo ufw status
-==== Autoriser HTTPS sur le pare-feu ==== +
- +
-Si le pare-feu **ufw** est activé, comme recommandé dans les prérequis, vous devrez ajuster les paramètres pour autoriser le trafic HTTPS. +
-  - Affichez le réglage actuel :<cli>...@...:~$ sudo ufw status+
 Status: active Status: active
  
Ligne 58: Ligne 53:
 80 (v6)                    ALLOW       Anywhere (v6) 80 (v6)                    ALLOW       Anywhere (v6)
 22/tcp (v6)                ALLOW       Anywhere (v6)</cli> 22/tcp (v6)                ALLOW       Anywhere (v6)</cli>
-  - Si le port 443 n'est pas ouvert, activez-le par :<cli>...@...:~$ sudo ufw allow ssh</cli>+    - Si le port 443 n'est pas ouvert, activez-le par :<cli>...@...:~$ sudo ufw allow ssh</cli
 +</subnumberlist>
  
-==== Obtention d'un certificat SSL ====+ 
 +
 + 
 +===== Obtention d'un certificat SSL =====
  
 Certbot fournit des plugins pour obtenir des certificats SSL. Le plugin --nginx reconfigure Nginx et recharge la configuration autant que nécessaire. Pour utiliser ce plugin, tapez :<cli>...@...:~$ sudo certbot --nginx -d your_domain -d www.your_domain Certbot fournit des plugins pour obtenir des certificats SSL. Le plugin --nginx reconfigure Nginx et recharge la configuration autant que nécessaire. Pour utiliser ce plugin, tapez :<cli>...@...:~$ sudo certbot --nginx -d your_domain -d www.your_domain
Ligne 126: Ligne 125:
 Si vous testez votre serveur à l'aide du test de [[https://www.ssllabs.com/ssltest/analyze.html]] (renseignez votre domaine et testez), il obtiendra une note A. Si vous testez votre serveur à l'aide du test de [[https://www.ssllabs.com/ssltest/analyze.html]] (renseignez votre domaine et testez), il obtiendra une note A.
  
-==== Vérification du renouvellement automatique de Certbot ====+===== Vérification du renouvellement automatique de Certbot =====
  
 Les certificats de Let’s Encrypt ne sont valables que quatre-vingt-dix jours pour encourager les utilisateurs à automatiser leur processus de renouvellement de certificat. Les certificats de Let’s Encrypt ne sont valables que quatre-vingt-dix jours pour encourager les utilisateurs à automatiser leur processus de renouvellement de certificat.
Ligne 142: Ligne 141:
 Si le processus de renouvellement automatisé échoue, Let’s Encrypt enverra un message à l'e-mail que vous avez spécifié, vous avertissant que votre certificat est sur le point d'expirer. Si le processus de renouvellement automatisé échoue, Let’s Encrypt enverra un message à l'e-mail que vous avez spécifié, vous avertissant que votre certificat est sur le point d'expirer.
  
- +====== Conclusion ======
- +
- +
-===== Conclusion =====+
  
 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. 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.
-===== Problèmes connus ===== 
  
-===== Voir aussi =====+====== Problèmes connus ======
  
 +====== Voir aussi ======
  
   * **(en)** [[https://www.digitalocean.com/community/tutorials/how-to-set-up-let-s-encrypt-with-nginx-server-blocks-on-ubuntu-16-04]]   * **(en)** [[https://www.digitalocean.com/community/tutorials/how-to-set-up-let-s-encrypt-with-nginx-server-blocks-on-ubuntu-16-04]]