HTTPS è la versione sicura dell'Hypertext Transfer Protocol (HTTP). HTTPS utilizza il protocollo SSL/TLS per la crittografia e l'autenticazione e per proteggere la comunicazione tra il browser e il server web. Crittografa le richieste e le risposte HTTP per impedire a qualcuno di annusare le informazioni condivise tra il tuo browser e il server web. Senza HTTPS, qualcuno sarebbe in grado di annusare e raccogliere le informazioni sensibili dei visitatori del tuo sito Web come le credenziali di accesso e i dettagli della carta di credito.
In questo tutorial, ti mostreremo come abilitare il protocollo HTTPS con Apache2 sul nostro VPS Ubuntu gestito. Per impostazione predefinita, se installi Apache sul tuo server Ubuntu 20.04, creerà un host virtuale Apache per il nome host del tuo server e sarà in ascolto solo sulla porta non sicura (HTTP/80). Ciò significa che se accedi al nome host del tuo server utilizzando un browser web, vedrai la pagina predefinita di Apache2 Ubuntu e se accedi tramite HTTPS, verrà generato un messaggio di errore poiché Apache2 non è in ascolto sulla porta 443 e non Il certificato SSL è configurato.
Prerequisiti
- Un server con Ubuntu 20.04 e Apache.
- Un utente root o un utente normale con privilegi sudo.
Passaggio 1:accedi tramite SSH e pacchetti di aggiornamento
Accedi al tuo VPS Ubuntu 20.04 tramite SSH:
ssh sshuser@IP_Address -p Port_number
Sostituisci "sshuser" con un utente che dispone dei privilegi sudo o root. Inoltre, sostituisci "IP_Address" e "Port_Number" con il rispettivo indirizzo IP e porta SSH del tuo server.
Una volta effettuato l'accesso, puoi verificare se hai la versione corretta di Ubuntu 20.04 installata sul tuo server con il seguente comando:
$ sudo lsb_release -a
Dovresti ottenere questo output:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
Quindi, esegui il comando seguente per assicurarti che tutti i pacchetti installati sul server siano aggiornati alle ultime versioni disponibili:
$ sudo apt update && sudo apt upgrade
Ciò garantisce la compatibilità tra i pacchetti.
Fase 2:Abilita Mod SSL
Prima di iniziare, dobbiamo abilitare il modulo SSL di Apache, esegui questo comando:
$ sudo a2enmod ssl
Come si vede nel messaggio dopo aver eseguito il comando, è necessario riavviare Apache per attivare le modifiche.
$ sudo systemctl restart apache2
Fase 3:crea un certificato SSL autofirmato
Un certificato SSL autofirmato è una buona opzione da scegliere quando stai provando o testando cose sul tuo server Apache. Sebbene il tuo certificato personale non significhi nulla per i browser e i visitatori riceveranno comunque un messaggio di avviso se visitano direttamente il tuo sito, puoi almeno essere sicuro di essere protetto dagli attacchi "man-in-the-middle". Se hai già un certificato SSL a pagamento, puoi saltare questo passaggio e continuare.
Esegui questo comando per generare un certificato SSL autofirmato.
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/server.yourdomain.com.key -out /etc/ssl/certs/server.yourdomain.com.crt
Quando esegui il comando sopra, dovrai rispondere alle richieste.
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Assicurati di digitare il dominio/sottodominio per cui desideri installare il certificato SSL. Ad esempio, puoi digitare server.tuodominio.com
Il comando sopra memorizzerà la chiave privata in /etc/ssl/private/server.yourdomain.com.key e il file del certificato in /etc/ssl/certs/server.yourdomain.com.crt
Fase 4:abilita HTTPS e installa un certificato SSL
In questo tutorial, utilizzeremo un file host virtuale Apache separato invece del file di configurazione predefinito. Partiamo dal presupposto che tu abbia già un host virtuale Apache funzionante per il tuo dominio. Possiamo eseguire il comando seguente per copiare il file di configurazione tuodominio.com.conf in tuodominio.com-ssl.conf. Per favore cambia tuodominio.com nel tuo file .conf nel comando per assicurarti che funzioni correttamente.
$ sudo cp -a /etc/apache2/sites-available/yourdomain.com{.conf,-ssl.conf}
Modifichiamo il nuovo file.
$ sudo nano /etc/apache2/sites-available/yourdomain.com-ssl.conf
Sostituisci
<VirtualHost *:80>
nella prima riga con
<VirtualHost *:443>
Quindi, aggiungi queste tre righe:
SSLEngine on
SSLCertificateKeyFile /etc/ssl/private/server.yourdomain.com.key
SSLCertificateFile /etc/ssl/certs/server.yourdomain.com.crt
Salva il file, quindi esci.
Dopodiché, dobbiamo abilitare la versione SSL del tuo sito. Possiamo eseguire questo comando per abilitare il sito:
$ sudo a2ensite yourdomain.com-ssl.conf
Infine, controlla la tua configurazione di apache2 eseguendo questo comando:
$ sudo apache2ctl -t
Se tutto va bene, vedrai il messaggio "Sintassi OK", puoi riavviare Apache.
$ sudo systemctl restart apache2
Tieni presente che se disponi già di un certificato SSL a pagamento, puoi modificare il SSLCertificateKeyFile e SSLCertificateFile direttive e indirizzarle al percorso corretto del file del certificato SSL e alla sua chiave privata.
Puoi anche eseguire il comando seguente per verificare se la versione SSL del tuo sito Web è abilitata o meno.
Questo è tutto! Al riavvio di Apache, verrà configurato per consentire le connessioni SSL utilizzando i certificati SSL autofirmati generati. Quando accedi al tuo sito Web tramite HTTPS, verrai avvisato che non è un certificato attendibile. Va bene. Lo sappiamo da quando l'abbiamo firmato noi stessi! Procedi e vedrai il tuo sito web attuale. Ciò non accadrà se utilizzi un certificato SSL a pagamento o un certificato SSL fornito da Letsencrypt.
Congratulazioni! A questo punto dovresti essere in grado di abilitare il protocollo HTTPS con Apache2 su Ubuntu 20.04.
Ovviamente, non devi sapere come abilitare il protocollo HTTPS con Apache2 su Ubuntu 20.04 se hai un VPS Ubuntu 20.04 ospitato con noi. Puoi semplicemente chiedere al nostro team di supporto di abilitare il protocollo HTTPS con Apache2 su Ubuntu 20.04 per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e saranno in grado di aiutarti con la configurazione del protocollo HTTPS.
PS. Se ti è piaciuto leggere questo post del blog su come abilitare il protocollo HTTPS con Apache2 su Ubuntu 20.04, sentiti libero di condividerlo sui social network usando le scorciatoie qui sotto, o semplicemente lascia un commento nella sezione commenti. Grazie.