(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.

image-76462.png

image-76463.png

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.

  1. 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.

  2. Vergewissern Sie sich, dass nginx aktiviert ist:

    # plesk sbin nginxmng -s
    

    Aktivieren Sie es, falls notwendig:

    # plesk sbin nginxmng -e
    
  3. 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.
    
  4. 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
    
  5. 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 Datei nginxDomainVirtualHost.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;
    
  6. 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.

  7. Wenn die erwähnten Schritte das Problem nicht lösen, wenden Sie sich an den technischen Support von Plesk.