Salta al contenuto

Come posso installare un certificato SSL/TLS per il mio sito web nella mia istanza Amazon EC2 Linux Ubuntu?

3 minuti di lettura
0

Desidero installare un certificato SSL/TLS autofirmato nella mia istanza Amazon Elastic Compute Cloud (Amazon EC2) Ubuntu che ospita un server Apache.

Risoluzione

Prerequisito: assicurati che i gruppi di sicurezza dell'istanza consentano il traffico sulle porte 80 e 443.

Installa il server web Apache e OpenSSL

Per installare Apache e OpenSSL sul server, esegui questo comando:

sudo apt-get install apache2 openssl -y

Genera un certificato autofirmato

Completa i seguenti passaggi:

  1. SSL/TLS utilizza chiavi pubbliche e private. Per creare una chiave privata per il dominio e una richiesta di firma del certificato (CSR), esegui questo comando:

     sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/ssl/private/private.key -out /etc/ssl/private/request.csr
  2. Per generare un certificato SSL/TLS, esegui questo comando:

     sudo openssl x509 -in /etc/ssl/private/request.csr -out /etc/ssl/private/certificate.crt -req -signkey /etc/ssl/private/private.key -days 365

Ora puoi utilizzare i file della chiave (private.key) e del certificato (certificate.crt) con il server web Apache.

Configura Apache per utilizzare SSL/TLS

Per configurare Apache in modo che utilizzi il certificato autofirmato che hai creato, completa i seguenti passaggi:

  1. Esegui questo comando per aprire il file di configurazione Apache SSL predefinito:

    sudo vi /etc/apache2/sites-available/default-ssl.conf
  2. Utilizza i seguenti percorsi per definire la posizione del certificato SSL:
    Per SSLCertificateFile, utilizza /etc/ssl/private/certificate.crt.
    Per SSLCertificateKeyFile, utilizza /etc/ssl/private/private.key.

  3. Salva e chiudi il file. Quindi esegui questo comando per attivare il file dell'host virtuale:

    sudo a2ensite default-ssl.conf
  4. Per aprire il file di configurazione dell'host virtuale predefinito per Apache, esegui questo comando:

    sudo vi /etc/apache2/sites-available/000-default.conf
  5. Per aggiungere un reindirizzamento al nome di dominio, aggiungi la seguente riga al file etc/apache2/sites-available/000-default.conf:

    Redirect "/" https://Server-IP

    Nota: sostituisci Server-IP con l'indirizzo IP del tuo server. È consigliabile inserire la riga precedente dopo la riga DocumentRoot. Il reindirizzamento inoltra tutto il traffico alla versione SSL/TLS del sito.

  6. Per attivare i moduli SSL/TLS e intestazione, esegui questo comando:

    sudo a2enmod ssl
    sudo a2enmod headers
  7. Esegui questo comando per ricaricare il servizio Apache e applicare le modifiche:

    sudo systemctl reload apache2

Verifica il server SSL/TLS

Completa i seguenti passaggi:

  1. Avvia il browser web.
  2. Apri https://Server-IP.
    Nota: sostituisci Server-IP con l'indirizzo IP del tuo server. Il browser web reindirizza a una pagina di avviso. Questo comportamento è prevedibile perché il certificato non è stato firmato da un'autorità di certificazione attendibile.
  3. Scegli Proceed to Host (Procedi all'host) per aprire la home page di Apache. Nella barra degli indirizzi del browser viene visualizzato un lucchetto con la dicitura non sicuro. Ciò dimostra che il certificato non è convalidato, ma crittografa la connessione.

Per informazioni sulla configurazione di SSL/TLS in Red Hat Enterprise Linux (RHEL) o Community Enterprise Linux, consulta Setting up a webserver to use HTTPS (Configurazione di un server web per utilizzare HTTPS) sul sito web Red Hat. Oppure, se utilizzi Amazon Linux, consulta la configurazione di SSL/TLS per Amazon Linux 1 (AL1), Amazon Linux 2 (AL2) o Amazon Linux 2023 (AL2023).

AWS UFFICIALEAggiornata 4 mesi fa