GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come abilitare il protocollo HTTPS con Apache 2 su Ubuntu 20.04

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.


Panels
  1. Come installare Let's Encrypt su Ubuntu 20.04 con Apache

  2. Come proteggere Apache con Lets Encrypt su Ubuntu 18.04

  3. Come proteggere una connessione SSL con Apache su Ubuntu 18.04

  4. Come installare Elasticsearch su Ubuntu 22.04 con SSL

  5. Come installare JBoss AS 7 con SSL su Linux (Abilita HTTPS SSL su JBoss)

Come installare Let's Encrypt SSL su Ubuntu con Apache

Come installare Apache con Let's Encrypt SSL su Ubuntu 20.04 LTS

Come abilitare HTTP/2 con Apache in Ubuntu

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx

Come installare Apache su Ubuntu 22.04