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

Come configurare Apache con HTTP/2 su Ubuntu 16.04

Ti mostreremo come configurare Apache con HTTP/2. HTTP/2 è il primo importante aggiornamento del protocollo HTTP dal 1997. L'obiettivo principale di HTTP/2 è ridurre la latenza, ridurre il numero totale di connessioni TCP, migliorando così la velocità di caricamento della pagina nei browser web. HTTP/2 è retrocompatibile con HTTP/1.1, tutta la semantica dell'applicazione di HTTP è la stessa, tranne il modo di trasmettere i dati tramite la connessione TCP. HTTP/2 sfrutta il multiplexing e consente richieste asincrone (parallele) e fornisce la compressione dei dati delle intestazioni HTTP. Inoltre, il metodo push del server in HTTP/2 consente al server di inviare più risposte per una singola richiesta.

Il supporto HTTP/2 non è incluso in Ubuntu 16.04, né con nginx né con Apache perché questa funzionalità è considerata sperimentale dal progetto Apache httpd upstream, quindi non è possibile abilitarla su un VPS Ubuntu 14.04 utilizzando il comando a2enmod:

a2enmod http2
ERROR: Module http2 does not exist!

Il supporto HTTP/2 dovrebbe essere abilitato in Ubuntu 16.04 dopo che Apache httpd upstream considera questo supporto non sperimentale.
Fortunatamente, il modulo Http2 è incluso nel sorgente, quindi segui questi passaggi per abilitare il supporto HTTP/2 su Server web Apache:

1. Aggiungi URI di origine

Aggiungi gli URI di origine al file sources.list se non è già stato fatto:

vi /etc/apt/sources.list

aggiungi le seguenti righe alla fine:

deb-src http://archive.ubuntu.com/ubuntu/ xenial main universe restricted multiverse
deb-src http://security.ubuntu.com/ubuntu xenial-security main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main universe restricted multiverse

2. Scarica gli elenchi dei pacchetti dai repository

Esegui il comando "apt-get update" per scaricare gli elenchi dei pacchetti dai repository e aggiornali per ottenere informazioni sulle versioni più recenti dei pacchetti, quindi aggiorna i pacchetti del sistema operativo Ubuntu 16.04 usando il comando "apt-get upgrade":

apt-get update
apt-get upgrade

3. Installa i prerequisiti

Installa i prerequisiti richiesti:

apt-get install curl devscripts build-essential fakeroot

4. Crea nuovo utente

Crea un nuovo utente o passa a un account utente esistente:

sudo adduser <username> sudo
su <username>

Sostituisci con un nome utente effettivo.

5. Installa libnghttp2-dev

Installa il pacchetto libnghttp2-dev:

[user]$ cd ~
[user]$ sudo apt-get install libnghttp2-dev
[user]$ mkdir apache2
[user]$ cd apache2

6. Scarica i sorgenti di apache2

Scarica i sorgenti di apache2 sul tuo server e compilali:

[user]$ apt-get source apache2
[user]$ sudo apt-get build-dep apache2
[user]$ cd apache-2.4.18
[user]$ sudo apt-get install curl devscripts build-essential fakeroot
[user]$ fakeroot debian/rules binary
[user]$ sudo cp debian/apache2-bin/usr/lib/apache2/modules/mod_http2.so /usr/lib/apache2/modules/
[user]$ exit

7. Carica il modulo HTTP/2.

Carica il modulo HTTP/2. Crea un file /etc/apache2/mods-available/http2.load e aggiungi le seguenti righe:

LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so

<IfModule http2_module>
LogLevel http2:info
</IfModule>

8. Abilita e configura il modulo Apache HTTP2

Abilita il modulo http2:

a2enmod http2

Aggiungi "Protocolli h2 http/1.1" a ciascun host virtuale basato su SSL. Ad esempio, modifica il file di configurazione default-ssl:

vi /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
 <VirtualHost _default_:443>
 ServerAdmin webmaster@localhost
 ServerName your-domain.com
 Protocols h2 http/1.1
 DocumentRoot /var/www/html
 
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 SSLEngine on

 SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
 SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

 <FilesMatch "\.(cgi|shtml|phtml|php)$">
 SSLOptions +StdEnvVars
 </FilesMatch>
 <Directory /usr/lib/cgi-bin>
 SSLOptions +StdEnvVars
 </Directory>

 </VirtualHost>
</IfModule>

In alternativa, aggiungi 'Protocols h2 http/1.1' alla configurazione principale di Apache per abilitare http2 su tutti i siti Web:

vi /etc/apache2/apache2.conf

Aggiungi questa riga alla fine:

Protocols h2 http/1.1

9. Riavvia il server web Apache

Riavvia Apache per rendere effettive le modifiche:

service apache2 restart

Questo è tutto. Il supporto HTTP/2 è stato abilitato sul tuo server web Apache.

Ovviamente non devi configurare Apache con HTTP/2 su Ubuntu 16.04, se utilizzi uno dei nostri servizi di hosting VPS ad alte prestazioni, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurare Apache con supporto HTTP/2 per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se ti è piaciuto questo post, su come configurare Apache con supporto HTTP/2 su Ubuntu 16.04, condividilo con i tuoi amici sui social network usando i pulsanti qui sotto, o semplicemente lascia una risposta qui sotto. Grazie.


Panels
  1. Come installare Odoo 12 su Ubuntu 18.04 con Apache come proxy inverso

  2. Come installare Odoo 14 su Ubuntu 20.04 con Apache come proxy inverso

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

  4. Come installare Magento 2.4 con OpenLiteSpeed ​​su Ubuntu 20.04

  5. Come configurare Nginx con supporto HTTP/2 su Debian 9

Come abilitare il protocollo HTTP/2 con Apache su Ubuntu 20.04

Come abilitare il supporto HTTP/2.0 su Apache

Come abilitare HTTP/2 in Apache su Ubuntu

Come configurare Nginx con supporto HTTP/2 su Ubuntu 18.04

Come configurare gli host virtuali Apache su Ubuntu 18.04

Come abilitare HTTP/2 con Apache in Ubuntu