Come faccio a rinnovare un certificato SSL Let's Encrypt in uno stack Bitnami ospitato su un'istanza Lightsail?

6 minuti di lettura
0

Il certificato SSL Let's Encrypt installato per il mio sito Web in un'istanza Amazon Lightsail Bitnami sta per scadere. Come faccio a rinnovarlo?

Breve descrizione

I certificati SSL Let's Encrypt scadono 90 giorni dopo la creazione. Se hai installato un certificato Let's Encrypt standard seguendo i passaggi forniti in Come faccio a installare un certificato Let's Encrypt standard in uno stack Bitnami ospitato su Amazon Lightsail? , il certificato SSL si rinnova automaticamente. Tuttavia, il rinnovo automatico potrebbe non riuscire se non viene configurato correttamente.

Se hai installato un certificato Let's Encrypt con caratteri jolly seguendo il Metodo 2 in Come faccio a installare un certificato SSL Let's Encrypt con caratteri jolly in uno stack Bitnami ospitato su Amazon Lightsail?, dovrai rinnovare il certificato manualmente. Il Metodo 2 non supporta il rinnovo automatico.

La seguente risoluzione riguarda il rinnovo manuale del certificato su istanze Lightsail ospitate su Bitnami, come WordPress, LAMP, Magento, MEAN e così via. La seguente risoluzione non offre indicazioni su come individuare il motivo per cui il rinnovo automatico non è riuscito.

Risoluzione

Prima di iniziare

Identifica quale dei seguenti strumenti hai utilizzato per installare il certificato:

  • Client "bncert-tool" o "Lego" fornito da Bitnami
  • Pacchetto "Certbot"

Per identificare lo strumento che hai utilizzato per installare il certificato SSL, procedi come segue:

1.    Esegui il comando seguente per cercare il file del certificato nelle directory /etc/letsencrypt e /opt/bitnami/letsencrypt. Assicurati di sostituire DOMAIN (DOMINIO) con il tuo nome di dominio.

sudo grep -irl "$(openssl s_client -verify_quiet -showcerts -connect DOMAIN:443 2>/dev/null | sed -n '/BEGIN/,/END/{p;/END/q}' | head -n 3 | tail -n 2)" /opt/bitnami/letsencrypt /etc/letsencrypt

2.    Se il file del certificato si trova all'interno delle subdirectory di /opt/bitnami/letsencrypt, probabilmente il certificato è stato installato usando il client bncert-tool o Lego. Per verificarlo, esegui il seguente comando:

sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

Se l'output del comando nel passaggio 1 corrisponde al percorso del certificato fornito dal comando precedente, il certificato è stato installato utilizzando bncert-tool o Lego.

Se il file del certificato si trova all'interno delle subdirectory di /etc/letsencrypt, probabilmente il certificato è stato installato usando Certbot. Per verificarlo, esegui il seguente comando:

sudo certbot certificates

Se l'output del comando nel passaggio 1 corrisponde al percorso del certificato fornito dal comando precedente (se presente), il certificato è stato installato utilizzando Certbot.

Rinnovo di un certificato Let's Encrypt installato utilizzando lo strumento bncert-tool o Lego

Esegui i comandi seguenti:

sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start

Nei comandi precedenti, sostituisci EMAIL-ADDRESS (INDIRIZZO E-MAIL) e DOMAIN (DOMINIO) con i valori corretti.

Puoi utilizzare uno qualsiasi dei tuoi indirizzi e-mail di lavoro. In alternativa, puoi utilizzare lo stesso indirizzo e-mail utilizzato durante l'installazione del certificato. Puoi recuperare l'e-mail utilizzata durante l'installazione del certificato eseguendo il seguente comando:

sudo ls /opt/bitnami/letsencrypt/accounts/acm*

Puoi confermare il nome di dominio eseguendo il seguente comando:

sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

Rinnovo di un certificato Let's Encrypt installato utilizzando lo strumento Certbot

Determina il metodo di autenticazione che hai utilizzato per installare il certificato. Per farlo, esegui il seguente comando. Sostituisci DOMAIN (DOMINIO) con il nome di dominio principale del certificato. Per determinare il nome di dominio, esegui il comando sudo certbot certificates.

sudo cat /etc/letsencrypt/renewal/DOMAIN.conf

Nell'output del comando, visualizza il valore del parametro authenticator.

Se il valore del parametro authenticator è standalone, webroot, apache, nginx, dns-route53 e così via, completa il rinnovo eseguendo i comandi seguenti:

sudo /opt/bitnami/ctlscript.sh stop
sudo certbot renew
sudo /opt/bitnami/ctlscript.sh start

I comandi precedenti rinnovano tutti i certificati installati che devono essere rinnovati.

Se il valore del parametro authenticator è manual e il valore del parametro pref_challs è dns, non è possibile impostare il rinnovo automatico. Dovrai rinnovarlo manualmente procedendo come segue. Ricorda che devi ripetere questo passaggio ogni volta che rinnovi il certificato.

1.    Questo metodo richiede l'aggiunta di registri TXT nel provider DNS del dominio. Questo processo potrebbe richiedere del tempo, quindi è consigliabile eseguire i comandi in Linux GNU Screen per evitare il timeout della sessione. Per avviare una sessione Screen, inserisci il seguente comando:

screen -S letsencrypt

2.    Esegui il comando seguente e cerca il valore del parametro Domains (Domini). Nell'esempio seguente, sostituisci DOMAIN (DOMINIO) con il nome di dominio principale del certificato.

sudo certbot certificates -d DOMAIN

3.    Esegui il comando seguente per rinnovare il certificato. Assicurati di includere tutti i domini trovati nel comando precedente utilizzando l'opzione -d nello stesso ordine. Se includi domini aggiuntivi, rimuovi qualsiasi dominio corrente o modifichi l'ordine dei domini, potrebbe essere creato un nuovo certificato con il nome DOMAIN-001 (DOMINIO-001) invece di rinnovare il certificato originale.

sudo certbot certonly --manual --preferred-challenge dns -d DOMAIN-1 -d DOMAIN-2 --force-renewal

4.    Ti viene richiesto di verificare di essere il proprietario del dominio specificato aggiungendo registri TXT ai registri DNS del dominio. Let's Encrypt fornisce uno o più registri TXT che devi utilizzare per la verifica.

5.    Quando vedi un registro TXT sulla schermata, aggiungi innanzitutto il registro fornito nel DNS del tuo dominio. NON PREMERE INVIO finché non confermi che il registro TXT è stato propagato al DNS Internet. Inoltre, NON PREMERE CTRL+D poiché terminerà la sessione della schermata corrente.

6.    Per confermare che il registro TXT è stato propagato al DNS Internet, cercalo in DNS Text Lookup (Ricerca del testo DNS). Inserisci il seguente testo nella casella di testo e scegli TXT Lookup (Ricerca TXT) per eseguire il controllo. Assicurati di sostituire example.com con il tuo dominio.

_acme-challenge.example.com

7.    Se i registri TXT si sono propagati al DNS di Internet, vedrai il valore del registro TXT nella pagina. Ora puoi tornare alla schermata e premere INVIO.

8.    Se vieni rimosso dalla shell, puoi tornare indietro utilizzando il comando screen -r SESSIONID. Ottieni l'ID sessione eseguendo il comando screen -ls.

9.    Se il prompt di Certbot ti chiede di aggiungere un altro registro TXT, completa nuovamente i passaggi da 5 a 8.

10.    Dopo che il certificato SSL è stato generato correttamente, riceverai il messaggio "Successfully received certificate" (Certificato ricevuto correttamente).


AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa