Salta al contenuto

Come posso rinnovare un certificato SSL Let's Encrypt in uno stack Bitnami ospitato in 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. I certificati standard si rinnovano automaticamente quando utilizzi Come posso installare un certificato SSL Let's Encrypt in uno stack Bitnami in Lightsail? Tuttavia, il rinnovo automatico potrebbe non riuscire se il certificato 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 wildcard in uno stack Bitnami in Lightsail?, devi rinnovare il certificato manualmente. Il metodo 2 non supporta il rinnovo automatico.

La seguente risoluzione spiega come rinnovare manualmente un certificato in 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 questo comando per cercare il file del certificato nelle directory /etc/letsencrypt e /opt/bitnami/letsencrypt. Assicurati di sostituire DOMAIN con il nome del tuo 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, è stato probabilmente installato con bncert-tool o con un client Lego. Per verificarlo, esegui questo 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, è stato probabilmente installato con Certbot. Per verificarlo, esegui questo 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, applica la corrispondente procedura di risoluzione.

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

Esegui questi 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

Nota: sostituisci EMAIL-ADDRESS con uno dei tuoi indirizzi e-mail funzionanti. Oppure utilizza lo stesso indirizzo e-mail che hai utilizzato per installare il certificato. Sostituisci DOMAIN con il nome del tuo dominio.

sudo /opt/bitnami/ctlscript.sh start

Puoi recuperare l'e-mail che hai utilizzato per installare il certificato con questo comando:

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

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

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

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

Per determinare il metodo di autenticazione utilizzato per installare il certificato, esegui questo comando:

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

Nota: sostituisci DOMAIN con il nome di dominio primario del tuo certificato.

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

Se il valore del parametro authenticator è standalone, webroot, apache, nginx, dns-route53 o un altro valore non manual, completa 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.

- oppure -

Se il valore del parametro authenticator è manual e il valore del parametro pref_challs è dns, non puoi impostare il rinnovo automatico. Devi effettuare il rinnovo manualmente con i seguenti passaggi. Nota: devi ripetere questo passaggio ogni volta che rinnovi 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 (Utilizzo di Linux Screen) sul sito web Linuxize.
    Per avviare una sessione Screen, immetti questo comando:

    screen -S letsencrypt
  2. Esegui questo comando e cerca il valore del parametro Domains. Sostituisci DOMAIN con il nome di dominio primario del tuo certificato:

    sudo certbot certificates -d DOMAIN
  3. Esegui questo comando 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 o rimuovi domini, o se ne modifichi l'ordine, potresti 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. Ricevi un prompt per verificare se il proprietario del dominio specificato. Questa verifica serve ad aggiungere record TXT ai record DNS del 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 dominio.
    Importante: non premere Invio finché non verifichi che il record TXT venga propagato al DNS Internet. Non premere CTRL+D perché questo interrompe la sessione dello schermo corrente.

  6. Per verificare che il record TXT venga propagato al DNS Internet, consulta DNS Text Lookup (Ricerca del testo DNS) sul sito web MX Toolbox. Inserisci il seguente testo nella casella di testo:

    _acme-challenge.example.com

    Nota: sostituisci example.com con il tuo dominio.

  7. Scegli TXT Lookup (Ricerca TXT) per eseguire il controllo.

  8. Se i record TXT si sono propagati al DNS di Internet, nella pagina viene visualizzato il valore del record TXT. Torna alla schermata e premi INVIO.

  9. Se vieni rimosso dalla shell, torna tramite la schermata di comando: screen -r SESSIONID.

  10. Ottieni l'ID della sessione: Esegui il comando screen -ls.

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

Una volta generato correttamente il certificato SSL, ricevi il seguente messaggio: "Successfully received certificate".

AWS UFFICIALEAggiornata un anno fa