Come configurare, abilitare o configurare HTTP/2 con Apache in Ubuntu. HTTP/2 è un protocollo sviluppato per ridurre la latenza, ridurre al minimo l'overhead del protocollo e molte funzionalità più efficienti rispetto a HTTP/1.
In questa guida imparerai come abilitare HTTP/2 con Apache. Questa configurazione è testata su un'istanza del motore di calcolo cloud di Google con sistema operativo Ubuntu 20.20 e Apache 2.4.41.
Prerequisiti
- Versione di Apache maggiore o uguale a 2.4.26.
- SSL installato e funzionante. Scopri come configurare SSL gratuito utilizzando Let'sEncrypt.
Assicurati di disporre dei 2 requisiti di cui sopra per far funzionare HTTP/2.
Controlla la versione di Apache usando questo comando.
apache2 -v
In Ubuntu 20.04 otterrai un output simile a quello seguente.
Server version: Apache/2.4.41 (Ubuntu) Server built: 2021-02-08T08:16:15
Abilita modulo Apache HTTP/2
Puoi abilitare il modulo HTTP/2 usando il a2enmod
comando.
sudo a2enmod http2
Configura l'host virtuale Apache per l'utilizzo di HTTP/2.
Modifica la configurazione dell'host virtuale HTTP e il Protocol
direttiva.
sudo nano /etc/apache2/sites-available/ssl.conf
Sostituisci ssl.conf con il tuo nome file.
Aggiungi il seguente <VirtualHost *:443>
Protocols h2 http/1.1
La tua configurazione dovrebbe apparire come di seguito.
<VirtualHost *:443> Protocols h2 http/1.1 ...
Premi CTRL+X
seguito da Y
e ENTER
per salvare e chiudere il file.
Riavvia Apache per rendere effettive le modifiche.
sudo service apache2 restart
Configura Apache per utilizzare HTTP/2 per PHP
Per impostazione predefinita Apache utilizza mod_php
con MPM. HTTP/2 non supporta il modulo prefork. Quindi devi usare Event MPM che non è compatibile con mod_php
. Quindi devi configurare PHP-FPM.
Disabilita il modulo PHP.
sudo a2dismod php8.0
Disabilita il modulo MPM prefork.
sudo a2dismod mpm_prefork
Abilita Event MPM, Fast_CGI e modulo setenvif.
sudo a2enmod mpm_event proxy_fcgi setenvif
Installa PHP-FPM.
sudo apt install php8.0-fpm
Avvia PHP-FPM.
sudo systemctl start php8.0-fpm
Abilita la configurazione PHP-FPM in Apache.
sudo a2enconf php8.0-fpm
Riavvia Apache per rendere effettive le modifiche.
sudo systemctl restart apache2
Ora HTTP/2 dovrebbe essere abilitato sul tuo server.
Configurazione di prova
Se apri la console nel tuo elemento inspect e carichi il tuo sito web vedrai il protocollo come h2
che conferma che HTTP/2 è in esecuzione.

Questo è tutto. Ora hai HTTP/2 abilitato con Apache.
Conclusione
Ora hai imparato come abilitare HTTP2 con Apache su Ubuntu 20.04.
Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.