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

5 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.

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 indicati in Come posso installare un certificato SSL Let's Encrypt in uno stack Bitnami in Lightsail?, quindi il certificato SSL si rinnova automaticamente. Tuttavia, il rinnovo automatico potrebbe non riuscire se non è configurato correttamente.

Se hai installato un certificato Let's Encrypt wildcard con il Metodo 2 in Come posso installare un certificato SSL Let's Encrypt in uno stack Bitnami in Lightsail?, allora devi rinnovare il certificato manualmente. Il metodo 2 non supporta il rinnovo automatico.

La seguente risoluzione spiega come rinnovare manualmente un certificato su istanze Lightsail ospitate da Bitnami, come WordPress, LAMP, Magento e MEAN.

Risoluzione

Identifica lo strumento di installazione del certificato

Identifica lo strumento utilizzato per installare il certificato. Per identificare lo strumento utilizzato per installare il certificato SSL, procedi come segue:

  1. Esegui il comando seguente per cercare il file del certificato nelle directory /etc/letsencrypt /opt/bitnami/letsencrypt. Assicurati di sostituire 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 nelle sottodirectory di /opt/bitnami/letsencrypt, allora il certificato è stato probabilmente installato con bncert-tool o un client Lego. Per fare ciò, 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 secondo comando, il certificato è stato installato con bncert-tool o Lego.

Se il file del certificato si trova nelle sottodirectory di /etc/letsencrypt, allora il certificato è stato probabilmente installato con Certbot. Per fare ciò, esegui il seguente comando:

sudo certbot certificates

Se l'output del comando nel passaggio 1 corrisponde al percorso del certificato fornito dal comando certbot, il certificato è stato installato con Certbot.

In base allo strumento identificato, segui le relative fasi di risoluzione.

Rinnova un certificato Let's Encrypt installato con bncert-tool o strumento Lego

Esegui i seguenti comandi:

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

Per tutti i comandi, sostituisci INDIRIZZO E-MAIL e DOMINIO con i valori corretti. Per INDIRIZZO E-MAIL, usa uno dei tuoi indirizzi email di lavoro. Oppure, usa lo stesso indirizzo email che hai usato per installare il certificato. Puoi recuperare l'email che hai usato per installare il certificato con il seguente comando:

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

Se necessario, conferma il nome di dominio con il seguente comando:

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

Rinnova un certificato Let's Encrypt installato con lo strumento Certbot

Esegui il comando seguente per determinare il metodo di autenticazione utilizzato per installare il certificato. Sostituisci DOMINIO con il nome di dominio principale del tuo certificato:

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

Nell'output del comando, visualizza il valore del parametro di autenticatore. In base al valore, segui uno dei seguenti metodi di rinnovo:

Se il valore del parametro autenticatore è standalone, webroot, apache, nginx, dns-route53 o un altro valore non manuale manualecompleta il rinnovo con i seguenti comandi:

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

Questi comandi rinnovano tutti i certificati installati che devono essere rinnovati.

- or -

Se il valore del parametro autenticatore è manuale e il valore del parametro pref_challs è dns, non è possibile impostare il rinnovo automatico. È necessario rinnovarlo manualmente con i seguenti passaggi. Nota: È necessario ripetere questo passaggio ogni volta che si rinnova il certificato.

  1. Questo metodo richiede l'aggiunta di record TXT nel provider DNS del dominio. È consigliabile eseguire i comandi in Linux GNU Screen per evitare che la sessione scada. Per ulteriori informazioni, consulta How to use Linux Screen.
    Per avviare una sessione Screen, immetti il seguente comando:

    screen -S letsencrypt
  2. Esegui il comando seguente e cerca il valore del parametro Domini. Sostituisci DOMINIO con il nome di dominio principale del tuo certificato:

    sudo certbot certificates -d DOMAIN
  3. Esegui il comando seguente per rinnovare il certificato. Assicurati di includere tutti i domini che hai trovato nel comando precedente con l'opzione**-d** nello stesso ordine. Se aggiungi, rimuovi o modifichi l'ordine dei domini, è possibile creare un nuovo certificato anziché rinnovare il certificato originale.

    sudo certbot certonly --manual --preferred-challenge dns -d DOMAIN-1 -d DOMAIN-2 --force-renewal
  4. Riceverai una richiesta per verificare di essere il proprietario del dominio specificato. Questa verifica serve ad aggiungere record TXT ai record DNS del tuo dominio. Let's Encrypt fornisce uno o più record TXT da utilizzare per la verifica.

  5. Quando vedi un record TXT sullo schermo, aggiungi il record fornito nel DNS del tuo dominio.
    Importante: Non premere Invio finché non confermi che il record TXT viene propagato al DNS Internet. Non premere CTRL+D perché questo interrompe la sessione dello schermo corrente.

  6. Per confermare che il record TXT viene propagato al DNS Internet, cercalo su DNS Text Lookup sul sito Web di MX Toolbox. Inserisci il testo seguente nella casella di testo e scegli Ricerca TXT per eseguire il controllo. Sostituisci example.com con il tuo nome di dominio:

    _acme-challenge.example.com
  7. Se i tuoi record TXT si sono propagati al DNS di Internet, nella pagina viene visualizzato il valore del record TXT. È ora possibile tornare alla schermata e premere INVIO.

  8. Se vieni rimosso dalla shell, torna tramite la schermata di comando -r SESSIONID. Esegui il comando screen -ls per ottenere l'ID della sessione.

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

  10. Una volta generato correttamente il certificato SSL, viene visualizzato il messaggio "Certificato ricevuto con successo".

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa