Introduction
sudo snap install certbot --classic
Utilisez ensuite le binaire /snap/bin/certbot au lieu du binaire /usr/bin/certbot par défaut.
sudo /snap/bin/certbot --webroot --agree-tos --redirect --hsts --staple-ocsp -d example.com
2. Utilisez le plugin Webroot
Pour obtenir des certificats TLS, vous pouvez utiliser le plugin webroot au lieu du plugin apache ou nginx car il est plus stable t génér moins d’erreurs.
Donc au lieu d’exécuter la commande ci-dessous :
sudo /snap/bin/certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d example.com
Utilisez plutot :
sudo /snap/bin/certbot --webroot --agree-tos --redirect --hsts --staple-ocsp -d example.com -w /var/www/html
L’option-w
spécifie le dossier racine de votre site web. Dans cet exemple,
J’utilise le /var/www/html/. Vous pouvez trouver l’emplacement exact dans le fichier de configuration de votre serveur Web.
Dans Apache, vous devriez trouver une ligne comme celle-ci :
DocumentRoot "/var/www/nextcloud"
Dans Nginx, vous devriez trouver une ligne comme celle-ci :
root /var/www/nextcloud/;
3. Dépassement de délai lors de la connexion (problème de pare-feu)
Certaines personnes peuvent rencontrer une erreur comme celle-ci :
IMPORTANT NOTES: - The following errors were reported by the server: Domain: mail.example.com Type: connection Detail: Fetching http://mail.example.com/.well-known/acme-challenge/8aNsZkYzpbFXyWUAECaJEj1eBsVhPOokDYeNTgw4nq8: Timeout during connect (likely firewall problem) To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address. Additionally, please check that your computer has a publicly routable IP address and that no firewalls are preventing the server from communicating with the client. If you're using the webroot plugin, you should also verify that you are serving files from the webroot path you provided. Can't open /etc/letsencrypt/renewal/mail.example.com.conf: No such file or directory.
Il se peut que :
- Votre enregistrement DNS A est erroné. Avez-vous mis la mauvaise adresse IP pour mail.example.com ? Veuillez ne pas saisir d’adresse IP privée dans l’enregistrement DNS A. Vous devez utiliser une adresse IP publique.
- Votre enregistrement DNS n’est pas encore propagé. Accédez à https://dnsmap.io pour vérifier s’il est propagé.
- Vous n’avez pas ouvert les ports TCP 80 et 443 dans le pare-feu. Le défi Certbot HTTP-01 doit accéder à une page Web particulière, vous devez donc ouvrir ces deux ports.
- Si vous utilisez UFW, veuillez lire ce guide : Comment utiliser le pare-feu UFW sur Debian, Ubuntu, Linux Mint
- 4. Les configurations Nginx ne prennent pas effet.
Certaines personnes peuvent rencontrer cette erreur :
Hint: The Certificate Authority failed to verify the temporary nginx configuration changes made by Certbot. Ensure the listed domains point to this nginx server and that it is accessible from the internet.
Cela signifie que votre fichier d’hôte virtuel n’a pas été chargé dans Nginx. Vous devez redémarrer Nginx.
sudo systemctl restart nginx
Parfois, il y a une erreur dans votre fichier de configuration Nginx. Exécutez la commande suivante pour le tester.
sudo nginx -t
Vérifiez également le journal des évenements de Nginx.
sudo journalctl -eu nginx
J’ai rencontré une fois l’erreur ci-dessus parce que j’ai oublié d’ajouter une directive server_name dans mon fichier de configuration Nginx, donc Nginx ne sait pas quel fichier de configuration utiliser pour la requête Certbot.
5. Non autorisé (404 introuvable)
Exemple de message d’erreur :
IMPORTANT NOTES: - The following errors were reported by the server: Domain: onlyoffice.linuxbabe.com Type: unauthorized Detail: 2606:4700:20::681a:c47: Invalid response from https://onlyoffice.linuxbabe.com/.well-known/acme-challenge/piqJOZM3CYsCGAmT-ZdfKI2XrvteQQEyKgtIHM6DNo4: 526 To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address.
Vous pouvez généralement savoir pourquoi cette erreur se produit en consultant le journal des erreurs de votre serveur Web. Par exemple, j’ai rencontré cette erreur en essayant d’obtenir un certificat TLS pour la suite bureautique en ligne OnlyOffice. Le journal des erreurs du serveur Web Nginx contient les lignes suivantes.
022/12/01 04:53:23 [error] 26124#26124: *14 open() "/var/www/onlyoffice/documentserver/letsencrypt/.well-known/acme-challenge/uhV7Py-ruxoDSkY_BcZwiifQ1L_Pli6pMK0wvInNiLA" failed (2: No such file or directory), client: 127.0.0.1, server: webmail.sk8deal.com, request: "GET /.well-known/acme-challenge/uhV7Py-ruxoDSkY_BcZwiifQ1L_Pli6pMK0wvInNiLA HTTP/1.1", host: "onlyoffice.linuxbabe.com", referrer: "http://onlyoffice.linuxbabe.com/.well-known/acme-challenge/uhV7Py-ruxoDSkY_BcZwiifQ1L_Pli6pMK0wvInNiLA"
J’ai donc besoin de créer un répertoire pour le protocole Let’s Encrypt ACME.
sudo mkdir -p /var/www/onlyoffice/documentserver/letsencrypt/.well-known/acme-challenge/
Remplacer le propriétaire par www-data.
sudo chown www-data:www-data /var/www/onlyoffice/documentserver/letsencrypt/ -R
Essayez de créer un fichier en tant qu’utilisateur www-data.
sudo -u www-data touch /var/www/onlyoffice/documentserver/letsencrypt/.well-known/acme-challenge/uhV7Py-ruxoDSkY_BcZwiifQ1L_Pli6pMK0wvInNiLA
Si cela réussit, vous pouvez exécuter à nouveau certbot pour obtenir un certificat TLS. Si vous voyez une erreur “autorisation refusée”, vous devez accorder l’autorisation à l’utilisateur www-data.
sudo apt install acl sudo setfacl -R -m u:www-data:rxx /var/www/onlyoffice/
6. Essai à sec
S’il y a trop de tentatives infructueuses pour obtenir le certificat Let’s Encrypt TLS au cours d’une période, il vous sera probablement refusé de faire d’autres demandes au serveur Let’s Encrypt CA. Pour éviter que cela ne se produise, vous pouvez utiliser l’indicateur –dry-run pour les tests.
Par exemple:
sudo /snap/bin/certbot certonly --dry-run --webroot --agree-tos --redirect --hsts --staple-ocsp -d example.com -w /var/www/html
Une simulation ne fonctionne qu’avec la sous-commande certonly , vous devez donc les utiliser ensemble. Une fois que vous avez corrigé l’erreur et que le test a réussi, vous pouvez obtenir un certificat TLS.
sudo /snap/bin/certbot --webroot --agree-tos --redirect --hsts --staple-ocsp -d example.com -w /var/www/html
Emballer
J’espère que ce tutoriel vous a aidé à utiliser certbot. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de conseils et d’astuces. Prenez soin de vous
Merci de votez pour cet article :