Tutorial > Abilitare il protocollo HTTP/2 di Apache su CentOS 8

Abilitare il protocollo HTTP/2 di Apache su CentOS 8

Pubblicato il: 05 marzo 2021

Apache CentOS Hosting

Introduzione

Il protocollo HTTP é un sistema per la trasmissione di dati sul web introdotto per la prima volta nel 1999. L'HTTP/2 é la nuova versione del protocollo HTTP che introduce molte novità per quanto riguarda il trasferimento di informazioni tra server e browser.

Questo nuova versione di HTTP mantiene ad alto livello la maggior parte della sintassi di HTTP 1.1 e la vera differenza risiede nel come viene strutturato il flusso di dati tra server e client, il che significa che per sfruttare questa nuova tecnologia non devi compiere alcuna modifica sul tuo sito web.

HTTP/2 pur mantenendo la massima compatibilità introduce molteplici vantaggi, che potremmo riassumere in:

  • Minore latenza
  • Compressione degli header HTTP
  • Multiplexing di richieste e risposte
  • Introduzione del server push.

Questo si traduce in un'ottimizzazione delle risorse e in una maggior velocità di caricamento.

Nel seguente tutorial vedremo come abilitare il nuovo protocollo HTTP/2 su Apache, utilizzando un server CentOS 8. É importante precisare che per utilizzare HTTP/2 è necessario aver installato un certificato SSL sul proprio sito web. Se non ancora dotato il tuo sito web di un certificato SSL puoi leggere la nostra guida su come installare gratuitamente un certificato SSL con Let's Encrypt.

Per prima cosa dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.

Installare il modulo mod_http2

Prima di tutto effettua l'aggiornamento dei pacchetti del sistema:

$ dnf upgrade

Su CentOS 8 mod_http2 è installata di default in Apache, per verificare la sua corretta installazione digita il comando:

$ dnf install mod_http2

Abilitare HTTP/2 su Apache

Verifica che il modulo HTTP/2 sia correttamente abilitato in Apache:

$ cat /etc/httpd/conf.modules.d/10-h2.conf

Se il comando restituirà il seguente output allora vorrà dire che HTTP/2 è correttamente abilitato.

LoadModule http2_module modules/mod_http2.so

In seguito apri il file di configurazione SSL del dominio su cui vuoi abilitare il protocollo HTTP/2.

$ nano /etc/httpd/conf.d/domain.com.conf

N.B. Il file di configurazione per la modalità SSL potrebbe anche chiamarsi domain.com-le-ssl.conf

Aggiungi la stringa "Protocols h2 http/1.1" appena dopo l'apertura del tag, in questo modo:

<virtualhost :443>
Protocols h2 http/1.1
...
</virtualhost>

A questo punto salva il file premendo CTRL+X poi Y e poi ENTER.

Riavvia Apache per applicare le modifiche:

$ systemctl restart httpd

Verificare il funzionamento del modulo HTTP/2

Verifica che il protocollo HTTP/2 sia correttamente operativo sul tuo dominio effettuando una richiesta CURL:

$ curl -I https://domain.com

Se l'output della richiesta contiene la seguente risposta:

HTTP/2 200
...

allora HTTP/2 sarà stato correttamente abilitato sul tuo dominio.