GNU/Linux >> Tutoriales Linux >  >> Cent OS

Let’s Encrypt:El cliente carece de autorización suficiente ::Respuesta no válida

Recientemente comencé a usar los certificados SSL de Let's Encrypt para mi sitio cPanelTips.com. Seamos realistas, Let's Encrypt ha cambiado la forma en que instalamos los certificados SSL.

Los viejos tiempos en los que tenía que completar su empresa y los datos personales, generar el código CSR y luego enviarlo al registrador SSL, para finalmente esperar el código CRT, ahora se han ido.

Let's Encrypt es una forma fácil y rápida de instalar certificados SSL para servidores cPanel y Linux. En mi caso, estos Certificados SSL se instalaron en CentOS 7.x 64 bits y funcionan perfectamente hasta que llegó la fecha de vencimiento para la renovación de SSL.

Sin embargo, cuando estaba por llegar el momento de renovar el certificado SSL de Let's Encrypt, noté algo extraño mientras ejecutaba la opción "renovar" usando el comando "certbot". Ver más abajo.

[[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

El error fue claro:

El cliente carece de autorización suficiente ::Respuesta no válida de http://nixcp.com/.well-known/acme-challenge/

En el mismo proceso de renovación también vi otro error en otro sitio web que administro:

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://.

Había configurado esos dos dominios para usar una redirección 301 de http a https, probé este curl en ejecución contra http para ver si había un problema con la redirección 301, pero ese no era el problema por lo que veo.

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

Devolvió un estado correcto de redireccionamiento 301, entonces ¿por qué certbot no puede llegar a la URL final?

No sé, pero hay algo que funcionó. Creé una excepción para la redirección 301 de http a https, y eso hizo que el proceso de renovación de certbot se ejecutara sin problemas para ambos dominios.

Este fue el código que usé para redirigir 301 todo de http a https excepto el directorio .bien conocido que usa 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;
    }
}

Dejar accesible el directorio .well-known usando http fue la clave para ejecutar el proceso de renovación de certbot sin problemas. Después de eso, me aseguré de que el directorio de verificación utilizado por certbot se haya creado:

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

Después de eso, ejecuté el comando de renovación nuevamente y este fue el resultado:

¡Se renovó OK por otro período de 3 meses! 🙂

Let’s Encrypt:El cliente carece de autorización suficiente ::Respuesta no válida fue modificada por última vez:5 de abril de 2017 por Esteban Borges
Cent OS
  1. El primero en transmitir completamente en Linux

  2. SSL gratis para Nginx en Centos por Let's encrypt

  3. Instale el certificado Let's Encrypt usando Certbot en Ubuntu 20.04 - ¿Cómo hacerlo en el servidor web Nginx?

  4. Asegure Apache con Let's Encrypt en CentOS 7 - ¿Proceso paso a paso?

  5. ¿Cómo cifrar la partición de inicio?

Agregar cliente al servidor FreeIPA en CentOS 8

Cómo instalar Let's Encrypt en Nginx

Cómo instalar Let's Encrypt SSL con Nginx en CentOS 7

Asignar Let's Encrypt a un sitio web

Cómo proteger Apache con Let's Encrypt en CentOS 8

Cómo proteger Nginx con Let's Encrypt en CentOS 8