GNU/Linux >> Tutoriels Linux >  >> Cent OS

Let's Encrypt :Le client ne dispose pas d'une autorisation suffisante ::Réponse invalide

Récemment, j'ai commencé à utiliser les certificats SSL Let's Encrypt pour mon site cPanelTips.com. Avouons-le, Let's Encrypt a changé la façon dont nous installons les certificats SSL.

L'ancien temps où vous deviez renseigner les informations de votre entreprise et personnelles, générer le code CSR, puis le soumettre au registraire SSL, pour enfin attendre le code CRT est maintenant révolu.

Let's Encrypt est un moyen simple et rapide d'installer des certificats SSL pour les serveurs cPanel et Linux. Dans mon cas, ces certificats SSL ont été installés sur CentOS 7.x 64 bits et ils fonctionnent parfaitement jusqu'à la date d'échéance du renouvellement SSL.

Cependant, lorsque le moment du renouvellement du certificat SSL Let's Encrypt était sur le point d'arriver, j'ai remarqué quelque chose de bizarre lors de l'exécution de l'option "renew" à l'aide de la commande "certbot". Voir ci-dessous.

[[email protected]:~]/usr/bin/certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Cert is due for renewal, auto-renewing...
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for nixcp.com
Waiting for verification...
Cleaning up challenges
Attempting to renew cert from /etc/letsencrypt/renewal/nixcp.com.conf produced an unexpected error: Failed authorization procedure. nixcp.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://nixcp.com/.well-known/acme-challenge/qtxjYi0a3FYNWpvqW-WTyZZzj848Yr0J6Sfx-75xDrg

L'erreur était claire :

Le client ne dispose pas d'une autorisation suffisante ::Réponse invalide de http://nixcp.com/.well-known/acme-challenge/

Lors du même processus de renouvellement, j'ai également constaté une autre erreur sur un autre site Web que je gère :

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/mysecondsite.com/fullchain.pem (failure)
1 renew failure(s), 0 parse failure(s)

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: mysecondsite.com
   Type:   unauthorized
   Detail: Invalid response from
   http://mysecondsite.com/.well-known/acme-challenge/YjP9PAcIEANeX50kZJ9vJ-lARkryYs7yFSLhKBU9Y_M:
   404 Not Found

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A record(s) for that domain
   contain(s) the right IP address. The A records were configured ok at the DNS server, and the first thing that came to my mind was that certbot was trying to connect to http://, instead of https://.

J'avais configuré ces deux domaines pour utiliser une redirection 301 de http vers https, j'ai testé cette boucle en cours d'exécution contre http pour voir s'il y avait un problème avec la redirection 301, mais ce n'était pas le problème à ma connaissance.

curl -I http://nixcp.com/.well-known/acme-challenge/

A renvoyé un état OK de redirection 301, alors pourquoi certbot n'est pas en mesure d'atteindre l'URL finale ?

Je ne sais pas, mais il y a quelque chose qui a marché. J'ai créé une exception pour la redirection 301 de http vers https, ce qui a permis au processus de renouvellement du certbot de s'exécuter sans problème pour les deux domaines.

C'est le code que j'ai utilisé pour rediriger 301 tous de http à https, à l'exception du répertoire .well-known utilisé par Let's Encrypt :

server {
   listen 80;
   server_name www.nixcp.com nixcp.com;
   
    # Redirect all requests to https
    location / {
        return 301 https://nixcp.com$request_uri;
    }

    # This rule excludes the .well-known directory from the 301 redirect.
    location /.well-known {
        root /var/www/nixcp.com;
    }
}

Laisser le répertoire .well-known accessible via http était la clé pour exécuter le processus de renouvellement du certbot sans problème. Après cela, je me suis assuré que le répertoire de vérification utilisé par certbot était bien créé :

mkdir -p /var/www/caneltips.com/.well-known/acme-challenge

Après cela, j'exécute à nouveau la commande de renouvellement, et voici le résultat :

Il a été renouvelé OK pour une autre période de 3 mois ! 🙂

Let's Encrypt :Le client ne dispose pas d'une autorisation suffisante ::La réponse invalide a été modifiée pour la dernière fois :le 5 avril 2017 par Esteban Borges
Cent OS
  1. Instaurer la confiance dans la communauté Linux

  2. Le premier à diffuser entièrement sur Linux

  3. SSL gratuit pour Nginx sur Centos par Let's encrypt

  4. Sécurisez Apache avec Let's Encrypt sur CentOS 7 - Processus étape par étape ?

  5. Comment installer Let's Encrypt avec Apache sur CentOS 7

Ajouter un client au serveur FreeIPA sur CentOS 8

Comment installer Let's Encrypt sur Nginx

Comment installer Let's Encrypt SSL avec Nginx sur CentOS 7

Attribuer Let's Encrypt à un site Web

Comment sécuriser Apache avec Let's Encrypt sur CentOS 8

Comment sécuriser Nginx avec Let's Encrypt sur CentOS 8