GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come abilitare HTTP/2 in Apache su Ubuntu

Dall'inizio del World Wide Web (www ), l'HTTP protocollo si è evoluto nel corso degli anni per fornire contenuti digitali sicuri e veloci su Internet.

La versione più utilizzata è HTTP 1.1 e sebbene sia dotato di miglioramenti delle funzionalità e ottimizzazioni delle prestazioni per affrontare le carenze delle versioni precedenti, non è all'altezza di alcune altre caratteristiche salienti che sono state affrontate da HTTP/2 .

Quali sono le limitazioni di HTTP/1.1?

HTTP/1.1 Il protocollo è irto delle seguenti carenze che lo rendono meno ideale soprattutto quando si eseguono server Web ad alto traffico:

  1. Ritardi nel caricamento delle pagine web a causa di intestazioni HTTP lunghe.
  2. HTTP/1.1 è in grado di inviare solo una richiesta per ogni file per connessione TCP.
  3. Dato che HTTP/1.1 elabora una richiesta per ogni connessione TCP, i browser sono costretti a inviare un diluvio di connessioni TCP parallele per elaborare simultaneamente le richieste. Ciò porta alla congestione del TCP e, in definitiva, allo spreco di larghezza di banda e al degrado della rete.

I problemi sopra menzionati hanno spesso portato a un degrado delle prestazioni e ad elevati costi generali nell'utilizzo della larghezza di banda. HTTP/2 è venuto in scena per affrontare questi problemi ed è ora il futuro dei protocolli HTTP.

Vantaggi dell'utilizzo di HTTP/2

Offre i seguenti vantaggi:

  1. Compressione dell'intestazione che riduce al minimo le richieste dei client e quindi riduce il consumo di larghezza di banda. L'effetto risultante è un'elevata velocità di caricamento della pagina.
  2. Multiplexing di più richieste su una connessione TCP. Sia il server che il client possono suddividere una richiesta HTTP in più frame e raggrupparli all'altra estremità.
  3. Performance web più veloci che di conseguenza portano a un miglior posizionamento SEO.
  4. Sicurezza migliorata poiché la maggior parte dei browser tradizionali carica HTTP/2 su HTTPS.
  5. HTTP/2 è considerato più mobile-friendly grazie alla funzione di compressione dell'intestazione.

Detto questo, abiliteremo HTTP/2 su Apache su Ubuntu 20.04 LTS e Ubuntu 18.04 LTS .

Prerequisiti:

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 su HTTPS . Ho un nome di dominio puntato a un'istanza su Ubuntu 20.04 che esegue il server Apache protetto utilizzando il certificato Let's Encrypt.

Inoltre, ti consigliamo 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 sei in esecuzione, esegui il comando:

$ apache2 -v

Controlla la versione di Apache in Ubuntu

Dall'output, puoi vedere che stiamo utilizzando l'ultima versione, che è Apache 2.4.41 al momento della stesura di questo articolo.

Abilita HTTP/2 su un host virtuale Apache

Per iniziare, verifica prima che il server web stia eseguendo HTTP/1.1 . Puoi farlo su un browser aprendo la sezione degli strumenti per sviluppatori su Google Chrome usando il Ctrl +SHIFT + I combinazione. Fai clic su "Rete ' e individua il 'Protocollo colonna '.

Conferma versione protocollo HTTP

Quindi, abilita HTTP/2 modulo su Ubuntu eseguendo il comando seguente.

$ sudo a2enmod http2

Abilita HTTP/2 su Ubuntu

Quindi, individua e modifica il tuo SSL file host virtuale, se hai abilitato HTTPS utilizzando Let's Encrypt , viene creato un nuovo file con un les-ssl.conf suffisso.

$ sudo vim /etc/apache2/sites-enabled/your-domain-name-le-ssl.conf

Inserisci la direttiva di seguito dopo il <VirtualHost *:443> tag.

Protocols h2 http/1.1

Abilita HTTP/2 su Apache

Per salvare le modifiche, riavvia il server web Apache.

$ sudo systemctl restart apache2

Per verificare se HTTP/2 è abilitato, recupera le intestazioni HTTP usando il seguente comando curl come mostrato.

$ curl -I --http2 -s https://domain.com/ | grep HTTP

Controlla il supporto HTTP/2 in Apache

Dovresti visualizzare l'output.

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 '.

Conferma versione protocollo HTTP/2

Quando si utilizza il modulo mod_php con Apache

Se stai eseguendo Apache insieme a mod_php modulo, devi passare a PHP-FPM . Questo perché il mod_php il 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 PHP 7.4 mod_php modulo, ad esempio, disabilitalo come mostrato:

$ sudo a2dismod php7.4 

Disabilita modulo mod_php

Successivamente, disabilita il prefork MPM modulo.

$ sudo a2dismod mpm_prefork

Disabilita Prefork MPM in Apache

Dopo aver disabilitato i moduli, abilita Event MPM , CGI_veloce e setenvif moduli come mostrato.

$ sudo a2enmod mpm_event proxy_fcgi setenvif

Abilita MPM eventi in Apache

Installa PHP-FPM su Ubuntu

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 enable php7.4-fpm

Quindi, abilita PHP-FPM come gestore PHP di Apache e riavvia il server web Apache per apportare le modifiche.

$ sudo a2enconf php7.4-fpm

Abilita il supporto HTTP/2 in Apache Ubuntu

Quindi abilita il modulo HTTP/2 come prima.

$ sudo a2enmod http2

Riavvia Apache per sincronizzare tutte le modifiche.

$ sudo systemctl restart apache2

Infine, puoi verificare se il tuo server utilizza HTTP/2 protocollo utilizzando il comando curl come mostrato.

$ curl -I --http2 -s https://domain.com/ | grep HTTP

Controlla il protocollo HTTP/2 in Apache

Puoi anche scegliere di utilizzare gli strumenti per sviluppatori su Google Chrome browser per verificare come precedentemente documentato. Siamo giunti alla fine di questa guida, speriamo che tu abbia trovato preziose informazioni e che tu possa abilitare comodamente HTTP/2 su Apache con facilità.

Condividere è prendersi cura...
Condividi su FacebookCondividi su TwitterCondividi su LinkedinCondividi su Reddit
Ubuntu
  1. Come installare Apache su Ubuntu 18.04

  2. Come abilitare SSH su Ubuntu 18.04

  3. Ubuntu 20.04 – Come abilitare Hwe?

  4. Come abilitare HTTP/2 in Nginx su Ubuntu e CentOS

  5. Come configurare Apache con HTTP/2 su Ubuntu 16.04

Come abilitare il supporto HTTP/2.0 su Apache

Come abilitare il supporto HTTP/2.0 su Nginx

Come abilitare HTTP/2.0 in Nginx

Come abilitare HTTP/2 in Apache su sistema Linux

Come abilitare HTTP/2 con Apache in Ubuntu

Come abilitare HTTP/2.0 in Nginx su CentOS