GNU/Linux >> Znalost Linux >  >> Cent OS

Let’s Encrypt:Klient nemá dostatečné oprávnění ::Neplatná odpověď

Nedávno jsem začal používat Let’s Encrypt SSL certifikáty pro svůj web cPanelTips.com. Přiznejme si to, Let’s Encrypt změnil způsob, jakým instalujeme certifikáty SSL.

Staré časy, kdy jste museli vyplnit své firemní a osobní údaje, vygenerovat CSR kód a poté jej odeslat registrátorovi SSL, abyste konečně čekali, až CRT code ware je pryč.

Let’s Encrypt je snadný a rychlý způsob instalace certifikátů SSL pro servery cPanel i prostý Linux. V mém případě byly tyto certifikáty SSL nainstalovány na CentOS 7.x 64 bitů a fungují perfektně, dokud nenastalo datum splatnosti pro obnovení SSL.

Když se však blížil čas obnovy ssl certifikátu Let’s Encrypt, všiml jsem si něčeho divného při spouštění možnosti ‚renew‘ pomocí příkazu ‚certbot‘. Viz níže.

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

Chyba byla jasná:

Klient nemá dostatečné oprávnění ::Neplatná odpověď z http://nixcp.com/.well-known/acme-challenge/

Ve stejném procesu obnovy jsem také viděl další chybu na jiném webu, který spravuji:

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

Nakonfiguroval jsem tyto dvě domény tak, aby používaly přesměrování 301 z http na https, testoval jsem toto běžící curl proti http, abych zjistil, zda není problém s přesměrováním 301, ale pokud vidím, problém nebyl.

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

Vrátil se stav přesměrování 301 OK, proč tedy certbot není schopen dosáhnout cílové URL?

Nevím, ale něco se povedlo. Vytvořil jsem výjimku pro přesměrování 301 z http na https a díky tomu proces obnovení certbota běžel bez problémů pro obě domény.

Toto byl kód, který jsem použil k přesměrování 301 všech z http na https s výjimkou .well-known adresáře, který používá 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;
    }
}

Klíčem ke spuštění procesu obnovy certbota bez problémů bylo ponechání adresáře .well-known přístupného pomocí http. Poté jsem se ujistil, že ověřovací adresář používaný certbotem byl skutečně vytvořen:

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

Poté znovu spustím příkaz pro obnovení a výsledek je toto:

Bylo obnoveno v pořádku na další 3 měsíce! 🙂

Let’s Encrypt:Klient nemá dostatečné oprávnění ::Neplatná odpověď byla naposledy upravena:5. dubna 2017 Estebanem Borgesem
Cent OS
  1. Zdarma SSL pro Nginx na Centos od Let’s encrypt

  2. Jak zašifrovat domácí oddíl?

  3. CentOS / RHEL 6,7 :Jak odstranit cíl iSCSI na iniciátoru (klient iSCSI)

  1. Budování důvěry v linuxovou komunitu

  2. Nainstalujte certifikát Let's Encrypt Using Certbot v Ubuntu 20.04 - Jak to udělat na webovém serveru Nginx?

  3. jak otočit klíče serveru Tang a aktualizovat klienta Clevis

  1. První, který se vysílal úplně na Linuxu

  2. Zabezpečený Apache pomocí Let's Encrypt na CentOS 7 – proces krok za krokem?

  3. Jak nainstalovat Let’s Encrypt with Apache na CentOS 7