2016-11-21 8 views
3

Ich habe CENTOS7 Server, mit:zum Aktivieren http2 auf centos7

Server-Version: Apache/2.4.6 (CentOS)

. Wie kann ich HTTP/2 auf diesen Apache aktivieren/hinzufügen? Ich versuche, http2 Anfragen vom Client über Nghttp zu senden, aber ich bekomme einen Fehler in der Antwort (recv RST_STREAM Rahmen) als Ergebnis eines Servers, der Http2 nicht unterstützt.

ich sah, dass ich module_http2 in der Apache zu ermöglichen, aber ich habe nicht gefunden heiß kann ich dies tun.

Vielen Dank im Voraus.

+0

Sie müssen es von der Quelle erstellen, indem Sie das folgende Flag '--enable-http2' hinzufügen – Hackerman

Antwort

4

Die HTTP/2-Unterstützung wurde nur in Apache 2.4.18 hinzugefügt, die in den standardmäßigen CentOS/Red Hat-Repos nicht verfügbar ist. Obwohl mod_http2 zum Zeitpunkt des Schreibens war (und immer noch zum Zeitpunkt des Schreibens ist) sollte man mit der neuesten Version (2.4.27 zum Zeitpunkt des Schreibens) fortfahren - obwohl es noch weitere mod_http2 Patches gibt.

Zusätzlich benötigt HTTP/2 OpenSSL 1.0.2 oder höher, was auch nicht in den Standard-Repos verfügbar ist (beachten Sie, dass Sie Apache 2.4.26 oder höher für die Unterstützung von OpenSSL 1.1.0 benötigen).

Sie müssen also einen späteren Apache und OpenSSL aus der Quelle herunterladen und kompilieren - oder ein anderes Repo mit diesen späteren Versionen finden. Dies birgt gewisse Risiken - vor allem, weil Sie die einfachen Sicherheits-Patches verlieren, die Repo-Versionen liefern. Centos Apache 2.4.6 enthält tatsächlich die neuesten Sicherheitspatches späterer Versionen (vorausgesetzt, Sie führen regelmäßig "yum update" aus, um es zu aktualisieren) - aber die Funktionalität ändert sich nicht wie http/2 (daher bleibt die Versionsnummer bei 2.4.6) .

Wenn Sie bei der Installation von der Quelle interessiert sind, dann habe ich einen Schritt für Schritt Blog-Post auf, wie hier zu tun, dass: https://www.tunetheweb.com/performance/http2/

0

Sie können eine neuere Version von httpd installieren, als in der Basis Repositories enthalten ist durch the httpd24 Software Collection. Sobald Sie die SCL aktiviert haben, müssen Sie die folgenden Pakete:

  • httpd24
  • httpd24-nghttp2
  • httpd24-mod_ssl *

* Es ist am besten SSL zu konfigurieren, da für Beispiel: Chrome führt nur HTTP2 mit TLS aus.