(Plesk for Linux) HTTP/2 Support in Plesk¶
Überblick¶
HTTP/2 (auch HTTP/2.0 und HTTP 2.0 genannt) ist die zweite Hauptversion des Netzwerkprotokolls HTTP, das im World Wide Web eingesetzt wird. HTTP/2 wurde im Mai 2015 verabschiedet. Ziel der neuen Version war, die schwerwiegenden Leistungsprobleme von HTTP 1.1 zu lösen. Hier finden Sie die Vorteile dieses Protokolls. HTTP/2 wird von den meisten großen Webbrowsern unterstützt.
Die Unterstützung von HTTP/2 ist für Plesk Kunden ab der Version 12.5.30 Update #28 verfügbar. Die neueste Version von nginx ist erforderlich.
Bemerkung
HTTP/2 wird nur für SSL-Websites unterstützt. Falls Ihre Website SSL nicht verwendet, wird weiterhin HTTP/1.x eingesetzt.
Aktivieren der Unterstützung von HTTP/2 für Ihre Website¶
Vergewissern Sie sich, dass Ihr nginx-Webserver auf die aktuelle Version aktualisiert wurde und ausgeführt wird. Rufen Sie dazu die Seiten unter Tools & Einstellungen -> Serverkomponenten und Tools & Einstellungen -> Service-Verwaltung auf.
Melden Sie sich über SSH als root
in Ihrem Server an und aktivieren Sie die Unterstützung von HTTP/2 in Plesk über das Befehlszeilenprogramm:
# plesk bin http2_pref enable
Im letzten Schritt wird Ihr nginx-Webserver konfiguriert, um das TLS-Protokoll mit einer modernen und sicheren Verschlüsselung zu verwenden. Die komplette Konfiguration des Webservers wird neu erstellt und alle Ihre Websites sowie die Ihrer Kunden mit SSL-Unterstützung werden zu HTTP/2 verschoben.
Überprüfen Sie die Ausgabe des Befehls auf eventuelle Fehler oder Warnungen beim Wechsel zu HTTP/2. Rufen Sie bei Problemen unten den Abschnitt Problembehandlung auf.
Bemerkung
Mit einem Onlinedienst wie https://tools.keycdn.com/http2-test können Sie überprüfen, ob HTTP/2 für Ihre Domain aktiviert ist.
Wenn Sie zu HTTP 1.x zurückkehren und HTTP/2 deaktivieren möchten, verwenden Sie den folgenden Befehl:
# plesk bin http2_pref disable
ALPN-Unterstützung¶
Damit HTTP/2 in Google Chrome korrekt funktioniert, muss der nginx-Webserver ALPN (Application-Layer Protocol Negotiation) unterstützen. Einzelheiten dazu finden Sie in der ALPN-Dokumentation.
Die Unterstützung von ALPN für den nginx-Webserver ist in Plesk für die folgenden Betriebssysteme verfügbar: CentOS 7, RedHat Enterprise Linux 7 und Debian 8.
Das bedeutet, dass HTTP/2 über Plesk auf allen erwähnten Betriebssystemen in allen modernen Browsern funktioniert.
Problembehandlung¶
Wenn Sie Probleme bei der Aktivierung der Unterstützung von HTTP/2 für eine Website haben oder bei der Überprüfung der Website über https://tools.keycdn.com/http2-test nur das HTTP 1.x-Protokoll als aktiviert angezeigt wird, führen Sie die Schritte unten aus, um das Problem zu beheben.
Vergewissern Sie sich, dass die Unterstützung von SSL für die Website im Abschnitt Hosting-Einstellungen der Domain aktiviert ist. HTTP/2 wird nur für SSL-Websites unterstützt. Falls Ihre Website SSL nicht verwendet, wird weiterhin HTTP/1.x eingesetzt. Dies ist eine Beschränkung des nginx-Webservers und der Webbrowser.
Vergewissern Sie sich, dass nginx aktiviert ist:
# plesk sbin nginxmng -s
Aktivieren Sie es, falls notwendig:
# plesk sbin nginxmng -e
Vergewissern Sie sich, dass das OpenSSL-Paket Version 1.0.1 oder höher entspricht:
# rpm -qa | grep openssl openssl-1.0.1e-42.el6_7.4.x86_64.
Stellen Sie sicher, dass kein benutzerdefiniertes Konfigurations-Template in
/usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php
vorhanden ist. Sollte eines vorhanden sein, entfernen Sie es und erstellen Sie die Konfigurationsdateien erneut:# plesk sbin httpdmng --reconfigure-all
Wenn Sie Ihre benutzerdefinierte Einstellung nicht entfernen möchten, ändern Sie die Datei
/usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php
wie unten beschrieben ab.Suchen Sie nach einer Zeile, die der folgenden ähnelt:
($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl' : '') ?>;
Ersetzen Sie die Zeile durch die beiden folgenden Zeilen:
($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl' : '') . ($OPT['ssl'] && $VAR->domain->physicalHosting->proxySettings['nginxHttp2'] ? ' http2' : '') ?>;
Führen Sie anschließend den folgenden Befehl aus:
# plesk bin http2_pref enable
Falls Probleme mit der SSL-Verbindung bei aktiviertem HTTP/2 auftreten, vergewissern Sie sich, dass die Anweisung
ssl_ciphers
in/etc/nginx/conf.d/ssl.conf
oder in der benutzerdefinierten DateinginxDomainVirtualHost.php
den folgenden Wert hat:ssl_ciphers EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20:EECDH+SHA256+AES128:EECDH+SHA384+AES256:EDH+SHA256+AES128:EDH+SHA256+AES256:EECDH+SHA1+AES128:EECDH+SHA1+AES256:EDH+SHA1+AES128:EDH+SHA1+AES256:EECDH+HIGH:EDH+HIGH:AESGCM+AES128:AESGCM+AES256:CHACHA20:SHA256+AES128:SHA256+AES256:SHA1+AES128:SHA1+AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES;
Wenn Ihre Website nach der Aktivierung von HTTP/2 in manchen Browsern nicht funktioniert, bedeutet dies, dass Sie nicht über die notwendige Verschlüsselung und die Protokolle für die Unterstützung von HTTP/2 verfügen. Verwenden Sie das Dienstprogramm
sslmng
von Plesk, um verfügbare Protokolle und TLS-Verschlüsselungslisten einzurichten, nachdem Sie HTTP/2 aktiviert haben. Wenn Sie zum Beispiel genau die gleiche Verschlüsselungsliste wie Plesk verwenden möchten, geben Sie den folgenden Befehl ein:#plesk sbin sslmng --services=nginx --custom --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20" --protocols="TLSv1 TLSv1.1 TLSv1.2"
Die Konfiguration wird in der Datei
/etc/nginx/conf.d/ssl.conf
gespeichert. Diese Datei sollte nicht manuell bearbeitet werden.Wenn die erwähnten Schritte das Problem nicht lösen, wenden Sie sich an den technischen Support von Plesk.