Dall'inizio del World Wide Web (www), il HTTP Il protocollo si è evoluto nel corso degli anni per fornire contenuti digitali sicuri e veloci su Internet.
La versione più utilizzata è HTTP 1.1 e mentre racchiude miglioramenti delle funzionalità e ottimizzazioni delle prestazioni per affrontare il carenze delle versioni precedenti, manca di alcune altre caratteristiche salienti che sono state indirizzato dal HTTP/2.
Il HTTP/1.1 protocollo è irto delle seguenti carenze che lo rendono meno ideale soprattutto quando si eseguono server Web ad alto traffico:
I problemi sopra menzionati spesso hanno portato a un degrado delle prestazioni e ad alti costi generali nell'utilizzo della larghezza di banda. HTTP/2 è entrato in scena per affrontare questi problemi ed è ora il futuro per i protocolli HTTP.
Offre i seguenti vantaggi:
Detto questo, ci accingiamo ad abilitare HTTP/2 sopra Apache sopra Ubuntu 20.04 LTS e Ubuntu 18.04 LTS.
Prima di iniziare, assicurati di abilitare HTTPS sul server web Apache prima di abilitare HTTP/2. Questo perché tutti i browser Web tradizionali supportano HTTP/2 terminato HTTPS. Ho un nome di dominio che punta a un'istanza su Ubuntu 20.04 che è eseguire il server Apache protetto usando Criptiamo il certificato.
Inoltre, si consiglia di avere Apache 2.4.26 e versioni successive per i server di produzione che intendono passare a HTTP/2.
Per verificare la versione di Apache stai eseguendo, esegui il comando:
$ apache2 -v.
Dall'output, puoi vedere che stiamo usando l'ultima versione, che è Apache 2.4.41 al momento della stesura di questo articolo.
Per iniziare, prima conferma che il server web è in esecuzione HTTP/1.1. Puoi farlo su un browser aprendo la sezione degli strumenti per sviluppatori su Google Chrome usando il Ctrl + MAIUSC + I
combinazione. Clicca sul 'Rete' scheda e individuare il 'Protocollo' colonna.
Quindi, abilita il HTTP/2 modulo attivo Ubuntu eseguendo il seguente comando.
$ sudo a2enmod http2.
Quindi, individua e modifica il tuo SSL file host virtuale, se hai abilitato HTTPS utilizzando Criptiamo, viene creato un nuovo file con a le-ssl.conf suffisso.
$ sudo vim /etc/apache2/sites-enabled/your-domain-name-le-ssl.conf.
Inserisci la direttiva qui sotto dopo il etichetta.
Protocolli h2 http/1.1.
Per salvare le modifiche, riavvia il server web Apache.
$ sudo systemctl riavvia apache2.
Per verificare se HTTP/2 è abilitato, recupera le intestazioni HTTP usando quanto segue comando curl come mostrato.
$ curl -I --http2 -s https://domain.com/ | grep HTTP.
Dovresti ottenere l'output mostrato.
HTTP/2 200.
Sul browser, ricarica il tuo sito. Quindi torna agli strumenti per sviluppatori e conferma HTTP/2 indicato da h2
etichetta sul 'Protocollo' colonna.
Se stai correndo Apache accanto al mod_php modulo, è necessario passare a PHP-FPM. Questo perché il mod_php modulo utilizza il prefork MPM modulo che non è supportato da HTTP/2. Devi disinstallare il prefork MPM e passa a mpm_event modulo che sarà supportato da HTTP/2.
Se stai usando il PHP 7.4 mod_php modulo, ad esempio, disabilitalo come mostrato:
$ sudo a2dismod php7.4
Successivamente, disabilitare il prefork MPM modulo.
$ sudo a2dismod mpm_prefork.
Dopo aver disabilitato i moduli, quindi, abilitare il Evento MPM, Fast_CGI, e setenvif moduli come mostrato.
$ sudo a2enmod mpm_event proxy_fcgi setenvif.
Quindi, installa e avvia PHP-FPM come mostrato.
$ sudo apt install php7.4-fpm $ sudo systemctl start php7.4-fpm.
Quindi abilita PHP-FPM per iniziare all'avvio.
$ sudo systemctl abilita php7.4-fpm.
Quindi, abilita PHP-FPM come gestore PHP di Apache e riavviare il server web Apache per apportare le modifiche.
$ sudo a2enconf php7.4-fpm.
Quindi abilitare il modulo HTTP/2 come prima.
$ sudo a2enmod http2.
Riavvia Apache per sincronizzare tutte le modifiche.
$ sudo systemctl riavvia apache2.
Infine, puoi verificare se il tuo server sta utilizzando il HTTP/2 protocollo utilizzando il comando curl come mostrato.
$ curl -I --http2 -s https://domain.com/ | grep HTTP.
Puoi anche scegliere di utilizzare gli strumenti per sviluppatori sul Google Chrome browser per verificare come precedentemente documentato. Siamo arrivati alla fine di questa guida, speriamo che tu abbia trovato le informazioni preziose e che tu possa abilitare comodamente HTTP/2 sopra Apache facilmente.