HTTP 2.0 Support

  • Ja, ist bereits in Arbeit und sollte spätestens mit dem Erscheinen von Debian 9 fertig sein. Wir testen das bereits mit Debian Stretch. Debian 9 hat soweit ich weiß heute "feature freeze".


    Ubuntu 16 ist derzeit die einzige Distribution, deren Apache und NGINX http/2 unterstützen würde.

  • Http/2 unter CentOs7 geht übrigens auch relativ einfach mit entweder selbst kompiliertem Apache oder einem externem Repo, (z.B. codeit.guru). Ist eher weniger die Aufgabe eines Panels, von notwendigen Config Direktiven mal abgesehen. Beim Apachen kann es auch global via "Protocols h2 h2c http/1.1" aktiviert werden. Dh. komplett abseits vom LiveConfig.

  • Debian 9:


    Nach Aktivierung von http/2 in Nginx explodiert die Last auf dem Server. Requests werden gefühlt endlos erneut abgesetzt:



    Nach Deaktivierung von http/2 normalisiert sich das wieder.
    Gibt es dazu Ideen?

    # Das Gras wächst nicht schneller wenn man daran zieht # Bitte keine inflationären Vollzitate #

    Einmal editiert, zuletzt von lebenszeit ()

  • Nach Aktivierung von http/2 in Nginx explodiert die Last auf dem Server. Requests werden gefühlt endlos erneut abgesetzt:


    Haben Sie HTTP/2 auf einer exklusiven IP-Gruppe mit NGINX aktiviert und gleichzeitig keine "gemeinsame" IP-Gruppe mit SSL im NGINX aktiv?
    Wenn ja, dann ist das Problem bereits gelöst (LiveConfig v2.5.1-r4752), die Pakete stehen in Kürze bereit.


    Falls das Problem in einer anderen Konstellation aufgetreten ist, schicken Sie uns bitte mal die /etc/nginx/sites-available/default an support@liveconfig.com


    Viele Grüße


    -Klaus Keppler

  • Nach Aktivierung von http/2 in Nginx explodiert die Last auf dem Server. Requests werden gefühlt endlos erneut abgesetzt:


    Problem ist lokalisiert und ein Workaround fertig.
    Die Ursache ist (unserer Ansicht nach) ein Fehler in NGINX. Konkret tritt dieses Verhalten dann auf, wenn NGINX mit HTTP/2 als Reverse-Proxy genutzt wird. Wenn der ursprüngliche (HTTP/1.1-)Server eine Antwort sendet, dann enthält diese i.d.R. den Header "Connection: keep-alive".
    Mit HTTP/2 ist dieser Header verboten - allerdings leitet NGINX diesen ungefiltert an die HTTP/2-Verbindung durch. Einige Clients wie u.a. Apple Webkit (Safari) oder auch cURL brechen dann die Verbindung ab.
    Die Lösung (ab v2.5.1-r4755) besteht vorerst darin, dass LiveConfig bei NGINX-Reverse-Proxy-vHosts HTTP/2 nicht aktiviert.


    NGINX bringt von Haus aus leider keine Möglichkeit mit, HTTP-Header aus einer Proxy-Antwort herauszufiltern. Lediglich ein 3rd-Party-Modul namens ngx_headers_more kann das. Jetzt gibt es eine gute und eine schlechte Nachricht...
    Die gute Nachricht: in Debian 9 ist dieses Modul über das Paket libnginx-mod-http-headers-more-filter relativ einfach nachinstallierbar.
    Die schlechte Nachricht: NGINX unterstützt keine Form von "IfModule" in der Konfiguration. LiveConfig muss also die vHost-Konfigurationen zwingend neu erstellen, wenn dieses Modul verfügbar (oder auch nicht mehr verfügbar) ist.


    Viele Grüße


    -Klaus Keppler

  • Mit aktuellem Stable weiterhin


    * Connection state changed (MAX_CONCURRENT_STREAMS updated)!
    * http2 error: Invalid HTTP header field was received: frame type: 1, stream: 1, name: [upgrade], value: [h2]
    * HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)
    * Curl_http_done: called premature == 1
    * Closing connection 0
    * TLSv1.2 (OUT), TLS alert, Client hello (1):
    curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)


    und Schleifen von AppleWebKit.


    "more" erscheint in /usr/lib/liveconfig/lua/nginx.lua nicht. Ist Ihr letzter Absatz ein Ausblick, eine Empfehlung, nur eine technische Information?

    # Das Gras wächst nicht schneller wenn man daran zieht # Bitte keine inflationären Vollzitate #

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!