SPDY (Speedy)

Warnung SPDY ist ab NetScaler 12.0 Build 56.20 veraltet. Alternativ empfiehlt Citrix die Verwendung der HTTP/2-Funktion. Weitere Informationen finden Sie unter HTTP/2.

SPDY ist ein experimentelles offenes Netzwerkprotokoll, das von Google entwickelt wurde, um die Zeit zu reduzieren, die ein Client zum Laden einer Webseite in einen Browser nimmt. SPDY als Anwendungsschicht-Protokoll ändert die Art und Weise, wie HTTP-Anfragen und Antworten behandelt werden. SPDY bietet im Vergleich zu einer regulären HTTP-Transaktion folgende Vorteile:

  • Multiplexed Requests und Responses - In einer einzigen SPDY-Sitzung können mehrere Anforderungen vom Client über eine einzelne TCP-Verbindung an den Server gesendet werden. Dies reduziert die Anzahl der TCP-Verbindungen und optimiert auch die Nutzung jeder TCP-Verbindung.
  • Anforderungspriorisierung: Wenn Sie Dienste vom Server anfordern, kann ein Client jeder Anforderung eine Priorität zuweisen.
  • Header Compression - SPDY komprimiert die HTTP-Request- und Antwort-Header, wodurch Bandbreite gespart und die Latenz reduziert wird.
  • Serverpush: Der Server kann Daten an den Client senden, bevor der Client sie anfordert.
  • Sicherheit - SPDY ist konstruktiv sicher, da SSL für SPDY-Verbindungen erforderlich ist.

Citrix ADC unterstützt die Versionen SPDY/2 und SPDY/3 (ab Citrix ADC 10.5).

Hinweis: Die SPDY-Unterstützung hängt von der verwendeten Browserversion ab.

Wenn Sie eine Citrix ADC Appliance als SPDY-Gateway für Ihre Server verwenden, müssen die Server SPDY nicht unterstützen. Die Citrix ADC Appliance akzeptiert die eingehenden SPDY-Anforderungen, konvertiert sie und sendet sie als HTTP-Anforderungen an die Server. Es konvertiert auch die HTTP-Antworten und sendet sie als SPDY-Antworten an die Clients. Der Hauptwert von SPDY ist zwar ein reduzierter Bandbreitenverbrauch und eine schnellere Kommunikation mit Clients. Ein weiterer Vorteil der Citrix ADC Lösung besteht darin, dass Sie die zeitaufwendige Aufgabe des Upgrades Ihrer Webserver und Anwendungen zur Unterstützung von SPDY vermeiden.

Um eine Citrix ADC Appliance als SPDY-Gateway verwenden zu können, müssen Sie SPDY auf der Appliance aktivieren.

Systemanforderungen

Beide Enden einer SPDY-Verbindung müssen dieselbe Version von SPDY unterstützen. Darüber hinaus müssen die Kunden folgende Anforderungen erfüllen:

Unterstützen Sie die ZLIB-Komprimierung und akzeptieren Sie komprimierte Daten.

Unterstützen Sie die NPN (Next Protocol Negotiation) TLS-Erweiterung, da NPN im TLS-Handshake verwendet wird.

Funktionsweise von SPDY über SSL

Wenn SPDY aktiviert ist und die Citrix ADC Appliance die Erweiterung TLS ALPN mit einer Liste der unterstützten Protokolle in der Client-Hallo angezeigt wird, antwortet sie entweder mit SPDY/3 oder SPDY/2 in der Erweiterung ALPN in ihrem Server Hello.

Citrix ADC kann auch SPDY über NPN aushandeln. Wenn Citrix ADC eine leere NPN-Erweiterung in der Client-Hallo angezeigt wird, antwortet es mit einer Liste der unterstützten Protokolle. Wenn SPDY auf der Citrix ADC Appliance aktiviert ist, gibt die Appliance HTTP/1.1 und SPDY/2 Protokolle an. Der Client wählt ein Protokoll aus dieser Liste aus und verhandelt das Protokoll mit dem Server. Da das Senden des ausgehandelten Protokolls im Klartext Sicherheitsprobleme verursachen würde, sendet der Client die Chiffrier-Spezi-Benachrichtigung, die die Details der Verschlüsselung für die Sitzung definiert, gefolgt von der Nachricht Next Protocol, die das vom Client gewählte verschlüsselte Protokoll enthält. Der Client sendet dann die Meldung Fertig. Die Citrix ADC Appliance entschlüsselt die Nachricht Next Protocol und sendet dann eine Meldung Fertig.

Anschließend wird eine Sitzung eingerichtet und Anwendungsdaten können ausgetauscht werden.

Hinweis Die NPN-Erweiterung wird auf einer Citrix ADC FIPS-Appliance und mit TLS-Protokoll-Versionen 1.1 und 1.2 nicht unterstützt.

SPDY konfigurieren

Standardmäßig ist SPDY auf der Citrix ADC Appliance deaktiviert. Nachdem Sie SPDY aktiviert haben, meldet die Appliance SPDY/2 und/oder SPDY/3 zusammen mit HTTP/1.1 während eines SSL-Handshake. Um SPDY auf der Citrix ADC Appliance zu aktivieren, müssen Sie SPDY im HTTP-Profil aktivieren, das an den virtuellen SSL-Server gebunden ist.

So konfigurieren Sie SPDY mit der Befehlszeilenschnittstelle

Führen Sie an der Eingabeaufforderung die folgenden Schritte aus:

Enable SPDY on a HTTP profile

set ns httpProfile <profileName> -SPDY <options>

Beispiel

> set ns httpProfile profile1 -SPDY ENABLED

Bind the HTTP profile to a SSL virtual server.

set lb vserver <ssl-vserver-name> -httpProfileName <httpProfile-with-spdy>

Beispiel

> set lb vserver SPDY_LB -httpProfileName profile1

Hinweis: Um SPDY global anzuwenden, aktivieren Sie SPDY für das globale HTTP-Profil (nshttp_default_profile).

Sie können die Statistiken mit dem folgenden Befehl anzeigen:

stat protocol http -detail

So konfigurieren Sie SPDY mit der GUI

Navigieren Sie zu System> Profile, und aktualisieren Sie auf der Registerkarte HTTP-Profiledas Profil, für das Sie SPDY aktivieren möchten.

Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, und ordnen Sie das HTTP-Profil dem entsprechenden virtuellen SSL-Server zu.

Problembehandlung bei SPDY

Wenn SPDY-Sitzungen auch nach Durchführung der erforderlichen Schritte nicht aktiviert sind, überprüfen Sie die folgenden Bedingungen.

Wenn der Client einen Chrome-Browser verwendet, funktioniert SPDY möglicherweise nicht in einigen Szenarien, da Chrome manchmal keinen TLS-Handshake initiiert.

Wenn zwischen dem Client und der Citrix ADC Appliance ein Forward-Proxy vorhanden ist und der Forward-Proxy SPDY nicht unterstützt, sind SPDY-Sitzungen möglicherweise nicht aktiviert.

Citrix ADC unterstützt NPN über TLS 1.1/1.2 nicht. Um SPDY zu verwenden, sollte der Client TLS1.1/1.2 im Browser deaktivieren.

Wenn der Client SPDY verwenden möchte, muss SSL2/3 im Browser deaktiviert sein.