View a markdown version of this page

Abilita HTTPS sulla tua WordPress istanza con Let's Encrypt e Certbot - Amazon Lightsail

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Abilita HTTPS sulla tua WordPress istanza con Let's Encrypt e Certbot

Suggerimento

Amazon Lightsail offre un flusso di lavoro guidato che automatizza l'installazione, la configurazione e il rinnovo di un certificato Let's Encrypt sulla tua istanza. WordPress Ti consigliamo vivamente di utilizzare il flusso di lavoro anziché seguire i passaggi manuali di questo tutorial. Per ulteriori informazioni, consulta Avviare e configurare un' WordPress istanza.

Con i sistemi di bilanciamento del carico Amazon Lightsail, puoi proteggere i tuoi siti Web e le tue applicazioni con. SSL/TLS Tuttavia, l'utilizzo di un sistema di bilanciamento del carico Lightsail potrebbe non essere in genere la scelta giusta. Il tuo sito potrebbe non necessitare della scalabilità e della tolleranza ai guasti forniti dai sistemi di bilanciamento del carico oppure potresti voler ottimizzare i costi.

In quest'ultimo caso, potresti considerare l'utilizzo di Let's Encrypt per ottenere un certificato SSL gratuito. Questo tutorial mostra come richiedere un certificato wildcard Let's Encrypt utilizzando Certbot e integrarlo con la tua WordPress istanza utilizzando il plug-in Really Simple SSL.

Indice

Fase 1: completamento dei prerequisiti

Completa i seguenti prerequisiti se non l'hai già fatto:

Dopo aver completato i prerequisiti, procedi alla prossima sezione di questo tutorial.

Passaggio 2: installa Certbot sulla tua istanza Lightsail

Certbot è un client utilizzato per richiedere un certificato da Let's Encrypt e distribuirlo su un server web. Let's Encrypt utilizza il protocollo ACME per emettere certificati e Certbot è un ACME-enabled client che interagisce con Let's Encrypt.

Per installare Certbot sulla tua istanza Lightsail
  1. Accedi alla console Lightsail. https://lightsail.aws.amazon.com/

  2. Nella scheda Istanze della home page di Lightsail, scegli l'icona di connessione rapida SSH per l'istanza a cui desideri connetterti.

    Connessione rapida SSH nella home page di Lightsail.
  3. Dopo aver connesso la sessione SSH basata su browser Lightsail, inserisci il seguente comando per aggiornare i pacchetti sulla tua istanza:

    sudo apt-get update
  4. Immetti il seguente comando per installare il pacchetto delle proprietà del software. Gli sviluppatori di Certbot utilizzano un Personal Package Archive (PPA) per distribuire Certbot. Il pacchetto di proprietà del software rende più efficiente l'utilizzo di PPA.

    sudo apt-get install software-properties-common -y
    Nota

    Se riscontri un Could not get lock errore durante l'esecuzione del sudo apt-get install comando, attendi circa 15 minuti e riprova. Questo errore potrebbe essere causato da un cron job che utilizza lo strumento di gestione dei pacchetti Apt per installare aggiornamenti automatici.

  5. Immetti il seguente comando per aggiornare l'apt in modo da includere il nuovo repository:

    sudo apt-get update -y
  6. Immetti il seguente comando per installare Certbot:

    sudo apt-get install certbot -y

    Certbot è ora installato sulla tua istanza Lightsail.

Tieni aperta la finestra del terminale SSH basato su browser, a cui accederai nuovamente in una fase successiva di questo tutorial. Passa alla prossima sezione di questo tutorial.

Fase 3: richiesta di un certificato jolly SSL Let's Encrypt

Inizia il processo di richiesta di un certificato da Let's Encrypt. Tramite Certbot, richiedi un certificato jolly, che ti consente di utilizzare un unico certificato per un dominio e i relativi sottodomini. Ad esempio, un singolo certificato jolly funziona per il dominio example.com di primo livello, per blog.example.com e per i sottodomini stuff.example.com.

Per richiedere un certificato Let's Encrypt SSL wildcard
  1. Nella stessa finestra del terminale SSH basata su browser utilizzata nel passaggio precedente di questo tutorial, inserisci i seguenti comandi per impostare una variabile di ambiente per il tuo dominio. Assicurati di sostituire domain con il nome del dominio registrato.

    DOMAIN=domain WILDCARD=*.$DOMAIN

    Esempio:

    DOMAIN=example.com WILDCARD=*.$DOMAIN
  2. Immetti il seguente comando per confermare che le variabili restituiscono i valori corretti:

    echo $DOMAIN && echo $WILDCARD

    Viene visualizzato un risultato simile a quello seguente:

    Conferma delle variabili di ambiente del dominio.
  3. Immetti il seguente comando per avviare Certbot in modalità interattiva. Questo comando indica a Certbot di utilizzare un metodo di autorizzazione manuale con le richieste DNS di verifica della proprietà del dominio. Richiede un certificato jolly per il dominio di primo livello e per i relativi sottodomini.

    sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
  4. Inserisci il tuo indirizzo email quando richiesto, perché viene utilizzato per il rinnovo e gli avvisi di sicurezza.

  5. Leggi i termini di servizio di Let's Encrypt. Al termine, premi Y se sei d'accordo. Se non sei d'accordo, non puoi ottenere un certificato Let's Encrypt.

  6. Rispondi di conseguenza alla richiesta di condivisione dell'indirizzo e-mail e all'avviso sulla registrazione dell'indirizzo IP.

  7. Let's Encrypt ora ti chiede di verificare di essere il proprietario del dominio specificato. Ciò avviene attraverso l'aggiunta di registri TXT ai record DNS per il dominio. Viene fornito un set di valori di registro TXT come nell'esempio seguente:

    Nota

    Let's Encrypt può fornire uno o più registri TXT necessario per la verifica. In questo esempio, sono stati forniti due registri TXT da utilizzare per la verifica.

    Registri TXT per i certificati Let's Encrypt.

Mantieni aperta la sessione SSH basata su browser Lightsail: ci ritornerai più avanti in questo tutorial. Passa alla prossima sezione di questo tutorial.

Fase 4: Aggiunta di record TXT alla zona DNS del dominio

L'aggiunta di un record TXT alla zona DNS del dominio verifica che tu sia il proprietario del dominio. A scopo dimostrativo, utilizziamo la zona DNS Lightsail. Tuttavia, la procedura potrebbe essere simile per altre zone DNS generalmente ospitate da registrar di dominio.

Nota

Per saperne di più su come creare una zona DNS Lightsail per il tuo dominio, vedi Creazione di una zona DNS per gestire i record DNS del tuo dominio in Lightsail.

Per aggiungere record TXT alla zona DNS del tuo dominio in Lightsail
  1. Nel riquadro di navigazione a sinistra, scegli Domini e DNS.

  2. Nella sezione DNS zones (zone DNS) della pagina, scegli la zona DNS per il dominio specificato nella richiesta di certificato Certbot.

  3. Nell'editor della zona DNS, scegli la scheda Record DNS.

  4. Scegli Aggiungi record.

  5. Nel menu a discesa Tipo di registro, scegli Registro TXT.

  6. Inserisci i valori specificati dalla richiesta di certificato Let's Encrypt nei campi Record name e Responds with.

    Nota

    La console Lightsail precompila la parte di apice del dominio. Ad esempio, per aggiungere il sottodominio _acme-challenge.example.com è necessario semplicemente inserire _acme-challenge nella casella di testo, quindi Lightsail aggiunge automaticamente la parte .example.com durante il salvataggio del record.

  7. Scegli Save (Salva).

  8. Ripeti i passaggi da 4 a 7 per aggiungere il secondo set di record TXT specificato dalla richiesta di certificato Let's Encrypt.

Tieni aperta la finestra del browser della console Lightsail: ci ritornerai più avanti in questo tutorial. Passa alla prossima sezione di questo tutorial.

Fase 5: conferma che i registri TXT sono propagati

Utilizzate l' MxToolbox utilità per confermare che i record TXT si siano propagati al DNS di Internet. La propagazione dei record DNS potrebbe richiedere del tempo, a seconda del provider di hosting DNS e del TTL (Time-To-Live) configurato per i record DNS. È importante completare questa operazione e confermare che i registri TXT sono propagati, prima di continuare con la richiesta del certificato Certbot. In caso contrario, la richiesta di certificato ha esito negativo.

Per confermare che i record TXT si siano propagati al DNS di Internet
  1. Apri una nuova finestra del browser e vai a. https://mxtoolbox.com/TXTLookup.aspx

  2. Immetti il testo seguente nella casella di testo. Assicurati di sostituire domain con il tuo dominio.

    _acme-challenge.domain

    Esempio:

    _acme-challenge.example.com
    Ricerca dei registro TXT MXTookbox.
  3. Scegli TXT Lookup (Ricerca TXT) per eseguire il controllo.

  4. Viene visualizzata una delle seguenti risposte:

    • Se i tuoi record TXT si sono propagati al DNS di Internet, vedrai una risposta simile a quella mostrata nella schermata seguente. Chiudi la finestra del browser e procedi alla prossima sezione di questo tutorial.

      Conferma che i registri TXT sono propagati.
    • Se i tuoi record TXT non si sono propagati al DNS di Internet, viene visualizzata la risposta DNS Record not found. Conferma di aver aggiunto i record DNS corretti alla zona DNS dei tuoi domini. Se hai aggiunto i record corretti, attendi ancora un po' per consentire la propagazione dei record DNS del tuo dominio ed esegui nuovamente la ricerca TXT.

Passaggio 6: completa la richiesta del certificato SSL Let's Encrypt

Torna alla sessione SSH basata sul browser Lightsail relativa alla tua WordPress istanza e completa la richiesta di certificato Let's Encrypt. Certbot salva il certificato SSL, la catena e i file chiave in una directory specifica dell'istanza. WordPress

Per completare la richiesta di certificato SSL Let's Encrypt
  1. Nella sessione SSH basata su browser Lightsail relativa alla tua WordPress istanza, premi Invio per continuare la richiesta del certificato SSL Let's Encrypt. In caso di esito positivo, viene visualizzata una risposta simile a quella mostrata nello screenshot seguente:

    Esito positivo della richiesta di certificato Let's Encrypt.

    Il messaggio conferma che i file di certificato, chain e chiave sono archiviati nella directory /etc/letsencrypt/live/domain/. Assicurati di sostituire domain con il tuo dominio, ad esempio /etc/letsencrypt/live/example.com/.

  2. Annota la data di scadenza specificata nel messaggio. Verrà utilizzata per rinnovare il certificato entro tale data.

    Data di rinnovo del certificato Let's Encrypt.
  3. Ora che hai il certificato SSL Let's Encrypt, continua con la sezione successiva di questo tutorial. Passo 7: Crea i collegamenti ai file dei certificati nella directory di Apache

Crea collegamenti ai file del certificato SSL Let's Encrypt nella directory del server Apache sulla tua istanza. WordPress Inoltre, esegui il backup dei certificati esistenti, in caso siano necessari in un secondo momento.

Per creare collegamenti ai file dei certificati Let's Encrypt nella directory del server Apache
  1. Nella sessione SSH basata su browser Lightsail relativa alla tua WordPress istanza, inserisci il seguente comando per interrompere i servizi sottostanti:

    sudo systemctl stop apache2
  2. Immetti il seguente comando per impostare una variabile di ambiente per il dominio. Assicurati di sostituire domain con il nome del dominio registrato.

    DOMAIN=domain

    Esempio:

    DOMAIN=example.com
    Nota

    Se hai chiuso la finestra del terminale SSH basato su browser dopo aver impostato la DOMAIN variabile nel passaggio 3, esegui nuovamente, sostituendo con il tuo dominio. DOMAIN=example.com example.com

  3. Immettete il seguente comando per confermare che la variabile restituisca il valore corretto:

    echo $DOMAIN
    Conferma della variabile di ambiente del dominio.
  4. Immettete i seguenti comandi singolarmente per eseguire il backup dei file di certificato esistenti:

    export BACKUP_PATH=/opt/aws/wordpress sudo cp /etc/ssl/certs/ssl-cert-snakeoil.pem $BACKUP_PATH/ssl-cert-snakeoil.pem.backup sudo cp /etc/ssl/private/ssl-cert-snakeoil.key $BACKUP_PATH/ssl-cert-snakeoil.key.backup
  5. Inserisci i seguenti comandi singolarmente per creare collegamenti ai tuoi file di certificato Let's Encrypt nella directory Apache:

    sudo ln -sf /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/ssl/certs/ssl-cert-snakeoil.pem sudo ln -sf /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/ssl/private/ssl-cert-snakeoil.key
  6. Inserire il seguente comando per avviare i servizi sottostanti interrotti in precedenza:

    sudo systemctl start apache2

    I file del certificato SSL per la tua WordPress istanza si trovano ora nella directory corretta.

  7. Passa alla prossima sezione di questo tutorial.

Passaggio 8: configura il reindirizzamento HTTPS con il plug-in SSL Really Simple

Installa il plug-in Really Simple SSL sul tuo WordPress sito e usalo per integrare il certificato SSL. Really Simple SSL configura anche il reindirizzamento da HTTP a HTTPS, per garantire che gli utenti che visitano il sito siano sempre su una connessione HTTPS.

Per integrare il certificato SSL con il tuo WordPress sito usando il plug-in SSL Really Simple
  1. Nella sessione SSH basata su browser Lightsail relativa alla tua WordPress istanza, inserisci il seguente comando per impostare il file in modo che sia scrivibile. wp-config.php Il plug-in SSL Really Simple scrive nel file per configurare i certificati. wp-config.php

    sudo chmod 666 /var/www/wp-config.php
  2. Apri una nuova finestra del browser e accedi al pannello di amministrazione della tua WordPress istanza.

    Nota

    Per ulteriori informazioni, consulta Avviare e configurare un' WordPress istanza.

  3. Nel riquadro di navigazione sinistro, scegliere Plugins (Plugin).

  4. Scegli Aggiungi nuovo plug-in nella parte superiore della pagina Plugin.

    Aggiungi un nuovo plugin nella dashboard di WordPress amministrazione.
  5. Cercare Really Simple SSL.

  6. Scegli Install Now (Installa ora) accanto al plugin Really Simple SSL dai risultati di ricerca.

    Plug-in SSL Really Simple nei risultati di ricerca del WordPress plug-in.
  7. Al termine dell'installazione, scegli Attiva.

  8. Nel prompt visualizzato, scegliere Go ahead, activate SSL! (Procedi, attiva SSL!) Potresti essere reindirizzato alla pagina di accesso per la dashboard di amministrazione della tua WordPress istanza.

  9. Torna alla sessione SSH basata sul browser Lightsail per la tua WordPress istanza e inserisci il seguente comando per ripristinare le autorizzazioni restrittive sul file. wp-config.php Questo file contiene le credenziali del database e le chiavi di sicurezza che non devono essere lasciate leggibili da tutti.

    sudo chmod 640 /var/www/wp-config.php

L' WordPress istanza è ora configurata per utilizzare la crittografia SSL. Inoltre, l' WordPress istanza è ora configurata per reindirizzare automaticamente le connessioni da HTTP a HTTPS. Quando un visitatore accede ahttp://example.com, viene automaticamente reindirizzato alla connessione HTTPS crittografata (ovverohttps://example.com).

Fase 9: Rinnovo dei certificati Let's Encrypt ogni 90 giorni

I certificati Let's Encrypt sono validi per 90 giorni. I certificati possono essere rinnovati 30 giorni prima della scadenza. Per rinnovare i certificati Let's Encrypt, esegui il comando utilizzato originariamente per ottenerli. Ripeti i passaggi nella sezione Richiedi un certificato Let's Encrypt SSL wildcard di questo tutorial.

Nota

Il flusso di lavoro guidato di Amazon Lightsail gestisce automaticamente il rinnovo del certificato. Per evitare il rinnovo manuale dei certificati, passa al flusso di lavoro guidato. Per ulteriori informazioni, consulta Avviare e configurare un' WordPress istanza.