wake-up-neo.com

wie man http2 auf centos7 aktiviert

Ich habe einen CENTOS7-Server mit: 

Serverversion: Apache/2.4.6 (CentOS)

Wie kann ich HTTP/2 für diesen Apache aktivieren/hinzufügen? Ich versuche, http2-Anforderungen vom Client über Nghttp zu senden, aber als Ergebnis erhalte ich einen Fehler in der Antwort (recv RST_STREAM-Frame) von einem Server, der Http2 nicht unterstützt.

Ich habe gesehen, dass ich module_http2 im Apache aktivieren muss, aber ich habe nicht heiß gefunden kann ich das machen.

Danke im Voraus.

8
Adam

Die Unterstützung für HTTP/2 wurde nur in Apache 2.4.18 hinzugefügt, die in den Standard-Repos von CentOS/Red Hat nicht verfügbar ist. Obwohl an mod_http2 aktiv gearbeitet wurde (und dies immer noch zum Zeitpunkt des Schreibens ist), sollten Sie sich für die neueste Version entscheiden (2.4.33 zum Zeitpunkt des Schreibens - obwohl darüber hinaus weitere mod_http2-Patches verfügbar sind).

Zusätzlich erfordert HTTP/2 OpenSSL 1.0.2 oder höher, was bedeutet, dass Sie CentOS/RHEL 7.4 oder höher benötigen, es sei denn, Sie möchten eine eigene OpenSSL-Version sowie eine eigene Apache-Version installieren. Beachten Sie, dass Sie Apache 2.4.26 oder höher benötigen, wenn Sie darüber hinausgehen und zu OpenSSL 1.1.0 wechseln möchten.

Sie müssen also einen späteren Apache (und möglicherweise OpenSSL) aus dem Quellcode herunterladen und kompilieren - oder ein anderes Repo mit diesen späteren Versionen finden. Dies birgt einige Risiken - vor allem, dass Sie die einfachen Sicherheitspatches der Repo-Versionen verlieren. CentOS Apache 2.4.6 enthält eigentlich alle aktuellen Sicherheitspatches neuerer Versionen (vorausgesetzt, Sie führen regelmäßig ein "yum update" aus, um es zu aktualisieren) - aber nicht die Funktionsänderungen wie HTTP/2 (weshalb sie die Versionsnummer bei 2.4.6 belassen) .

Wenn Sie sich für die Installation aus dem Quellcode interessieren, habe ich einen schrittweisen Blogbeitrag darüber, wie Sie das hier tun können: https://www.tunetheweb.com/performance/http2/

6
Barry Pollard

Sie können eine neuere Version von httpd installieren, als in den Basis-Repositorys über die httpd24-Software-Sammlung enthalten ist. Nachdem Sie die SCL aktiviert haben, benötigen Sie die folgenden Pakete:

  • httpd24
  • httpd24-nghttp2
  • httpd24-mod_ssl *

* Am besten konfigurieren Sie auch SSL, da Chrome zum Beispiel nur HTTP2 mit TLS verwendet.

0
RedShift