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

So aktivieren Sie HTTP/2 in Nginx

Hypertext Transfer Protocol Version 2 (HTTP/2 ) ist die neueste Version des HTTP-Protokolls, das 2015 als IETF-Standard in RFC 7540 veröffentlicht wurde. Der Schwerpunkt des Protokolls liegt auf der Leistung. insbesondere vom Endbenutzer wahrgenommene Latenz, Netzwerk- und Serverressourcennutzung. Ein Hauptziel besteht darin, die Verwendung einer einzelnen Verbindung von Browsern zu einer Website zu ermöglichen. Das Protokoll ist abwärtskompatibel, daher sind HTTP-Methoden, Statuscodes und Semantik dieselben wie bei früheren Versionen des Protokolls. Nginx unterstützt HTTP/2 seit Version 1.9.5. In diesem Tutorial gehe ich davon aus, dass Sie bereits eine funktionierende TLS-Konfiguration haben und dass Sie die erforderliche Nginx-Version auf Ihrer bevorzugten Linux-Distribution installiert haben und dass Sie wissen, wie man Let's Encrypt verwendet, oder dass Sie wissen, wie man ausstellt ein selbstsigniertes Zertifikat.

Anforderungen

Um HTTP/2 in Nginx zu aktivieren, müssen Sie die folgenden Anforderungen erfüllen:

  • Nginx-Version 1.9.5 oder höher. Sie können Ihre Nginx-Version überprüfen, indem Sie (nginx -v ) Befehl.
  • OpenSSL-Version 1.0.2 oder höher. Sie können Ihre OpenSSL-Version überprüfen, indem Sie den Befehl (OpenSSL-Version) ausführen.
  • SSL/TLS-Zertifikat von Let's Encrypt oder ein selbstsigniertes Zertifikat.
  • TLS 1.2 oder höheres Protokoll aktiviert. Andernfalls können Sie HTTP/2 nicht verwenden. Implementierungen von HTTP/2 müssen TLS Version 1.2 oder höher für HTTP/2 über TLS verwenden.

HTTP/2 in Nginx aktivieren

Um HTTP/2 in Nginx zu aktivieren, müssen wir den http2 hinzufügen Parameter zum listen Richtlinie in unserem virtuellen Host:

listen 443 ssl http2;

Und laden Sie Ihre Nginx-Konfiguration neu:

sudo systemctl reload nginx.service

Hier ist die minimale virtuelle Serverkonfiguration, die verwendet werden kann, um HTTP/2 in einem virtuellen Host zu aktivieren:

server {

listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name example.com;
root /path/to/public;

ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;

ssl_protocols TLSv1.2;

}

Um zu prüfen, ob Ihr Server HTTP/2 unterstützt, können Sie Ihre Browser-Entwicklungstools oder Nginx-Protokolldateien verwenden. Unten ist ein Screenshot aus dem Google Chrome-Browser, der HTTP/2 in Aktion auf der Domain https://example.com zeigt.

Sie können auch die eingebettete Nginx-Variable $http2 verwenden, um das ausgehandelte Protokoll anzuzeigen. Diese Variable protokolliert:„h2 “ für HTTP/2 über TLS, „h2c ” für HTTP/2 über Klartext-TCP oder andernfalls eine leere Zeichenfolge im Nginx-Zugriffsprotokoll, wenn dies so konfiguriert ist.

Und das ist alles, was Sie tun müssen, um HTTP/2 auf Ihrem Nginx-Server zu aktivieren.

  • RFC 7540
  • HTTP/2

Linux
  1. So leiten Sie HTTP zu HTTPS in Nginx um

  2. So aktivieren Sie TLS 1.3 in Nginx

  3. So aktivieren Sie HTTP2 in NGINX

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

  5. So richten Sie Nginx mit HTTP/2-Unterstützung unter Debian 9 ein

So aktivieren Sie HTTP/2.0 in Nginx

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

So aktivieren Sie HTTP/2.0 in Nginx Server:Schritt-für-Schritt-Anleitung

So richten Sie Nginx mit HTTP/2-Unterstützung unter Ubuntu 18.04 ein

So aktivieren Sie HTTP/2 mit Apache in Ubuntu

So aktivieren Sie HTTP/2.0 in Nginx unter CentOS