GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So aktivieren Sie HTTP/2 in Apache unter Ubuntu

Seit den Anfängen des World Wide Web (www ), das HTTP Das Protokoll hat sich im Laufe der Jahre weiterentwickelt, um sichere und schnelle digitale Inhalte über das Internet bereitzustellen.

Die am weitesten verbreitete Version ist HTTP 1.1 und obwohl es mit Funktionsverbesserungen und Leistungsoptimierungen ausgestattet ist, um die Mängel früherer Versionen zu beheben, bleiben einige andere hervorstechende Merkmale zurück, die von HTTP/2 angesprochen wurden .

Was sind die Einschränkungen von HTTP/1.1?

Das HTTP/1.1 -Protokoll ist mit den folgenden Mängeln behaftet, die es weniger ideal machen, insbesondere wenn Webserver mit hohem Datenverkehr ausgeführt werden:

  1. Verzögerungen beim Laden von Webseiten aufgrund langer HTTP-Header.
  2. HTTP/1.1 kann nur eine Anfrage für jede Datei pro TCP-Verbindung senden.
  3. Da HTTP/1.1 eine Anfrage für jede TCP-Verbindung verarbeitet, sind Browser gezwungen, eine Flut von parallelen TCP-Verbindungen zu senden, um die Anfragen gleichzeitig zu verarbeiten. Dies führt zu TCP-Überlastung und letztendlich zu Bandbreitenverschwendung und Netzwerkverschlechterung.

Die oben erwähnten Probleme führten oft zu Leistungseinbußen und hohen Gemeinkosten bei der Bandbreitennutzung. HTTP/2 kam ins Bild, um diese Probleme anzugehen und ist jetzt die Zukunft für HTTP-Protokolle.

Vorteile der Verwendung von HTTP/2

Es bietet folgende Vorteile:

  1. Header-Komprimierung, die Client-Anfragen minimiert und dadurch den Bandbreitenverbrauch senkt. Der resultierende Effekt sind schnelle Seitenladegeschwindigkeiten.
  2. Multiplexing mehrerer Anfragen über eine TCP-Verbindung. Sowohl der Server als auch der Client können eine HTTP-Anfrage in mehrere Frames aufteilen und sie am anderen Ende neu gruppieren.
  3. Schnellere Webleistungen, die folglich zu einem besseren SEO-Ranking führen.
  4. Verbesserte Sicherheit, da die meisten Mainstream-Browser HTTP/2 über HTTPS laden.
  5. HTTP/2 gilt dank der Header-Komprimierungsfunktion als mobilfreundlicher.

Allerdings werden wir HTTP/2 aktivieren auf Apache auf Ubuntu 20.04 LTS und Ubuntu 18.04 LTS .

Voraussetzungen:

Stellen Sie vor Beginn sicher, dass Sie HTTPS aktivieren auf dem Apache-Webserver, bevor Sie HTTP/2 aktivieren . Dies liegt daran, dass alle gängigen Webbrowser HTTP/2 unterstützen über HTTPS . Ich habe einen Domainnamen, der auf eine Instanz auf Ubuntu 20.04 verweist auf dem Apache-Server ausgeführt wird, der mit dem Let’s Encrypt-Zertifikat gesichert ist.

Außerdem wird empfohlen, dass Sie Apache 2.4.26 haben und spätere Versionen für Produktionsserver, die eine Umstellung auf HTTP/2 vornehmen möchten .

Um die Version von Apache zu überprüfen Sie ausführen, führen Sie den Befehl aus:

$ apache2 -v

Überprüfen Sie die Apache-Version in Ubuntu

Aus der Ausgabe können Sie ersehen, dass wir die neueste Version verwenden, nämlich Apache 2.4.41 zum Zeitpunkt der Niederschrift dieses Artikels.

HTTP/2 auf einem virtuellen Apache-Host aktivieren

Bestätigen Sie zunächst, dass auf dem Webserver HTTP/1.1 ausgeführt wird . Sie können dies in einem Browser tun, indem Sie den Abschnitt mit den Entwicklertools in Google Chrome öffnen mit Ctrl +SHIFT + I Kombination. Klicken Sie auf „Netzwerk“. “ und suchen Sie das „Protokoll ’-Spalte.

Bestätigen Sie die Version des HTTP-Protokolls

Aktivieren Sie als Nächstes HTTP/2 Modul auf Ubuntu indem Sie den folgenden Befehl ausführen.

$ sudo a2enmod http2

HTTP/2 auf Ubuntu aktivieren

Suchen und bearbeiten Sie als Nächstes Ihr SSL virtuelle Hostdatei, wenn Sie HTTPS mit Let’s Encrypt aktiviert haben , wird eine neue Datei mit einer le-ssl.conf erstellt Suffix.

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

Fügen Sie die folgende Direktive nach <VirtualHost *:443> ein -Tag.

Protocols h2 http/1.1

HTTP/2 auf Apache aktivieren

Um die Änderungen zu speichern, starten Sie den Apache-Webserver neu.

$ sudo systemctl restart apache2

Um zu prüfen, ob HTTP/2 aktiviert ist, rufen Sie die HTTP-Header mit dem folgenden curl-Befehl als show.

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

Überprüfen Sie die HTTP/2-Unterstützung in Apache

Sie sollten die angezeigte Ausgabe erhalten.

HTTP/2 200

Laden Sie im Browser Ihre Website neu. Gehen Sie dann zurück zu den Entwicklertools und bestätigen Sie HTTP/2, das durch h2 gekennzeichnet ist Etikett auf dem 'Protokoll ’-Spalte.

Bestätigen Sie die HTTP/2-Protokollversion

Bei Verwendung des Moduls mod_php mit Apache

Wenn Sie Apache ausführen neben der mod_php Modul, müssen Sie zu PHP-FPM wechseln . Das liegt daran, dass die mod_php Modul verwendet das prefork MPM Modul, das von HTTP/2 nicht unterstützt wird . Sie müssen das prefork MPM deinstallieren und wechseln Sie zum mpm_event Modul, das von HTTP/2 unterstützt wird .

Wenn Sie PHP 7.4 mod_php verwenden Modul deaktivieren Sie es beispielsweise wie gezeigt:

$ sudo a2dismod php7.4 

mod_php-Modul deaktivieren

Deaktivieren Sie danach das Prefork MPM Modul.

$ sudo a2dismod mpm_prefork

Deaktivieren Sie Prefork MPM in Apache

Nachdem Sie die Module deaktiviert haben, aktivieren Sie als Nächstes das Event MPM , Fast_CGI und setenvif Module wie abgebildet.

$ sudo a2enmod mpm_event proxy_fcgi setenvif

Ereignis-MPM in Apache aktivieren

Installieren Sie PHP-FPM auf Ubuntu

Als nächstes installieren und starten Sie PHP-FPM wie abgebildet.

$ sudo apt install php7.4-fpm 
$ sudo systemctl start php7.4-fpm

Aktivieren Sie dann PHP-FPM beim Booten starten.

$ sudo systemctl enable php7.4-fpm

Aktivieren Sie als Nächstes PHP-FPM als PHP-Handler von Apache und starten Sie den Apache-Webserver neu, damit die Änderungen wirksam werden.

$ sudo a2enconf php7.4-fpm

HTTP/2-Unterstützung in Apache Ubuntu aktivieren

Aktivieren Sie dann wie zuvor das HTTP/2-Modul.

$ sudo a2enmod http2

Starten Sie Apache neu, um alle Änderungen zu synchronisieren.

$ sudo systemctl restart apache2

Schließlich können Sie testen, ob Ihr Server HTTP/2 verwendet Protokoll mit dem Curl-Befehl wie gezeigt.

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

Überprüfen Sie das HTTP/2-Protokoll in Apache

Sie können sich auch dafür entscheiden, die Entwicklertools in Google Chrome zu verwenden Browser zu überprüfen, wie zuvor dokumentiert. Zum Ende dieses Leitfadens möchten wir hoffen, dass Sie die Informationen wertvoll fanden und dass Sie HTTP/2 bequem aktivieren können auf Apache mit Leichtigkeit.

Sharing is Caring…
Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenAuf Reddit teilen
Ubuntu
  1. So installieren Sie Apache unter Ubuntu 18.04

  2. So aktivieren Sie SSH unter Ubuntu 18.04

  3. Ubuntu 20.04 – Wie aktiviere ich HWE?

  4. So aktivieren Sie HTTP/2 in Nginx unter Ubuntu und CentOS

  5. So richten Sie Apache mit HTTP/2 unter Ubuntu 16.04 ein

So aktivieren Sie die HTTP/2.0-Unterstützung auf Apache

So aktivieren Sie die HTTP/2.0-Unterstützung auf Nginx

So aktivieren Sie HTTP/2.0 in Nginx

So aktivieren Sie HTTP/2 in Apache auf einem Linux-System

So aktivieren Sie HTTP/2 mit Apache in Ubuntu

So aktivieren Sie HTTP/2.0 in Nginx unter CentOS