Jak nastavit Apache s podporou HTTP / 2 na Ubuntu 16.04

HTTP / 2 je první důležitou aktualizací protokolu HTTP od verze 1997. Hlavním cílem služby HTTP / 2 je zkrátit latenci, snížit celkový počet připojení TCP a tím zlepšit rychlost načítání stránky ve webových prohlížečích. HTTP / 2 je zpětně kompatibilní s HTTP / 1.1, všechny sémantiky aplikací HTTP jsou stejné, s výjimkou způsobu přenosu dat přes TCP spojení. HTTP / 2 využívá multiplexování a umožňuje asynchronní (paralelní) požadavky a poskytuje kompresi dat hlaviček HTTP. Metoda serveru push v protokolu HTTP / 2 také umožňuje serveru odesílat více odpovědí pro jednu žádost.

Podpora HTTP / 2 není v Ubuntu 16.04 obsažena, ani s nginx ani s Apache, protože tato funkce je považována za experimentální v projektu Apache httpd upstream, takže není možné ji povolit na Ubuntu 14.04 VPS pomocí příkazu a2enmod:

a2enmod HTTP2 CHYBA: Modul http2 neexistuje!

Podpora protokolu HTTP / 2 by měla být povolena v Ubuntu 16.04 poté, co Apache httpd upstream nepovažuje tuto podporu za experimentální.
Naštěstí je do zdroje zahrnut modul Http2, proto postupujte podle následujících pokynů, abyste povolili podporu HTTP / 2 na webovém serveru Apache:
Přidat zdrojový identifikátor URI do souboru sources.list, pokud již tak neučinil:

vi /etc/apt/sources.list

na konci přidejte následující řádky:

deb-src http://archive.ubuntu.com/ubuntu/ xenial main universe omezený multiverse deb-src http://security.ubuntu.com/ubuntu xenial-security hlavní universe omezený multiverse deb-src http: // archive. ubuntu.com/ubuntu/ xenial-updates hlavní vesmír omezený multiverse

Spusťte příkaz "apt-get update", abyste mohli stáhnout seznamy balíčků z úložišť a aktualizovat je, abyste získali informace o nejnovějších verzích balíčků, a pak aktualizujte balíčky Ubuntu 16.04 OS pomocí příkazu "apt-get upgrade":

apt-get aktualizovat apt-get upgrade

Nainstalujte požadované předpoklady:

apt-get nainstalovat curl devscripts build-essential fakeroot

Vytvořte nového uživatele VPS, nebo přepnout na existující uživatelský účet:

sudo adduser <uživatelské jméno> sudo su <username>

Nahradit <username> skutečné uživatelské jméno.
Nainstalujte balíček libnghttp2-dev:

[uživatel] $ cd ~ [uživatel] $ sudo apt-get nainstalovat libnghttp2-dev [uživatel] $ mkdir apache2 [uživatel] $ cd apache2

Stažení zdrojů apache2 na serveru a jejich sestavení:

[user] $ apt-get zdroj apache2 [uživatel] $ sudo apt-get build apache2 [uživatel] $ cd apache-2.4.18 [uživatel] $ sudo apt-get instalat curl devscripts / pravidla binární [uživatel] $ sudo cp debian / apache2-bin / usr / lib / apache2 / moduly / mod_http2.so / usr / lib / apache2 /

Vložte modul HTTP / 2. Vytvořte soubor /etc/apache2/mods-available/http2.load a přidejte následující řádky:

LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so <IfModule http2_module> LogLevel http2: info </ IfModule>

Povolte modul http2:

a2enmod http2

Přidat 'protokoly h2 http / 1.1' ke každému virtuálnímu hostiteli založenému na protokolu SSL. Například upravte konfigurační soubor výchozí-ssl:

vi /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c> <VirtualHost _default_: 443> ServerAdmin [Email chráněn]
 Protokoly h2 http / 1.1 DocumentRoot / var / www / html ErrorLog $ {APACHE_LOG_DIR} /error.log VlastníLog $ {APACHE_LOG_DIR} /access.log kombinuje SSLEngine na SSLCertificateFile / etc / ssl / certs / ssl-cert -snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <FilesMatch ". (cgi | shtml | phtml | php) $ SSLOptions + StdEnvVars </ FilesMatch> <adresář / usr / lib / cgi -bin> SSLOptions + StdEnvVars </ Directory> </ VirtualHost> </ ifModule>

Nebo přidejte do hlavní konfigurace Apache protokoly h2 http / 1.1 pro zapnutí http2 na všech webech:

vi /etc/apache2/apache2.conf

Přidejte tento řádek na konci:

Protokoly h2 http / 1.1

Restartujte Apache, aby se změny projevily:

restartování služby apache2

To je ono. Podpora HTTP / 2 byla aktivována na webovém serveru Apache.

Zdroj

Napsat komentář

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.