SPDY (Speedy)

Attention SPDY est obsolète à partir de NetScaler 12.0 build 56.20 et comme alternative, Citrix vous recommande d’utiliser la fonctionnalité HTTP/2. Pour plus d’informations, reportez-vous à la rubrique HTTP/2.

SPDY est un protocole expérimental de mise en réseau ouvert développé par Google pour réduire le temps nécessaire à un client pour charger une page Web dans un navigateur. Protocole de couche d’application, SPDY modifie la façon dont les requêtes et les réponses HTTP sont traitées. SPDY offre les avantages suivants par rapport à une transaction HTTP standard :

  • Demandes et réponses multiplexées : dans une seule session SPDY, plusieurs requêtes du client peuvent être envoyées via une seule connexion TCP au serveur. Cela réduit le nombre de connexions TCP et optimise également l’utilisation de chaque connexion TCP.
  • Priorité des demandes : lors de la demande de services à partir du serveur, un client peut attribuer une priorité à chaque demande.
  • Compression d’en-tête : SPDY compresse les en-têtes de requête et de réponse HTTP, ce qui permet d’économiser la bande passante et de réduire la latence.
  • Serveur push : le serveur peut envoyer des données au client avant que le client ne le demande.
  • Sécurité : SPDY est sécurisé par conception, car SSL est requis pour les connexions SPDY.

Citrix ADC prend en charge les versions SPDY/2 et SPDY/3 (à partir de Citrix ADC 10.5).

Remarque :la prise en charge de SPDY dépend de la version du navigateur utilisée.

Si vous utilisez une appliance Citrix ADC en tant que Gateway SPDY pour vos serveurs, les serveurs n’ont pas à prendre en charge SPDY. L’appliance Citrix ADC accepte les requêtes SPDY entrantes, les convertit et les envoie aux serveurs en tant que requêtes HTTP. Il convertit également les réponses HTTP et les envoie aux clients en tant que réponses SPDY. Bien que la valeur clé de SPDY soit la réduction de la consommation de bande passante et une communication plus rapide avec les clients, un avantage supplémentaire de la solution Citrix ADC est que vous évitez la tâche fastidieuse de mise à niveau de vos serveurs Web et applications pour prendre en charge SPDY.

Pour utiliser une appliance Citrix ADC en tant que Gateway SPDY, vous devez activer SPDY sur l’appliance.

Configuration système requise

Les deux extrémités d’une connexion SPDY doivent prendre en charge la même version de SPDY. De plus, les clients doivent satisfaire aux exigences suivantes :

Prend en charge la compression ZLIB et accepte les données compressées.

Prise en charge de l’extension TLS NPN (Next Protocol Negotiation), car NPN est utilisé dans la poignée de main TLS.

Comment SPDY fonctionne sur SSL

Si SPDY est activé, lorsque l’appliance Citrix ADC voit l’extension ALPN TLS avec la liste des protocoles pris en charge dans le message Client Hello, il répond avec SPDY/3 ou SPDY/2 dans l’extension ALPN dans son serveur Hello.

Citrix ADC peut également négocier SPDY sur NPN. Lorsque Citrix ADC voit une extension NPN vide dans le message Client Hello, il répond avec une liste des protocoles qu’il prend en charge. Si SPDY est activé sur l’appliance Citrix ADC, l’appliance annonce les protocoles HTTP/1.1 et SPDY/2. Le client sélectionne un protocole dans cette liste et négocie le protocole avec le serveur. Étant donné que l’envoi du protocole négocié en texte brut soulèverait des problèmes de sécurité, le client envoie la notification Change Chipher Spec qui définit les détails du chiffrement pour la session, suivie du message Next Protocol, qui contient le protocole chiffré choisi par le client. Le client envoie ensuite le message Terminé. L’appliance Citrix ADC déchiffre le message Protocole suivant, puis envoie un message Terminé.

Une session est alors établie et les données d’application peuvent être échangées.

Remarque L’extension NPN n’est pas prise en charge sur une appliance Citrix ADC FIPS et avec les versions 1.1 et 1.2 du protocole TLS.

Configurer SPDY

Par défaut, SPDY est désactivé sur l’appliance Citrix ADC. Après avoir activé SPDY, l’appliance annonce SPDY/2 et/ou SPDY/3 ainsi que HTTP/1.1 lors d’une liaison SSL. Pour activer SPDY sur l’appliance Citrix ADC, vous devez activer SPDY dans le profil HTTP lié au serveur virtuel SSL.

Pour configurer SPDY à l’aide de l’interface de ligne de commande

À l’invite de commandes, procédez comme suit :

Enable SPDY on a HTTP profile

set ns httpProfile <profileName> -SPDY <options>

Exemple

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

Exemple

> set lb vserver SPDY_LB -httpProfileName profile1

Remarque : Pour appliquer SPDY globalement, activez SPDY sur le profil HTTP global (nshttp_default_profile).

Vous pouvez afficher les statistiques à l’aide de la commande suivante :

stat protocol http -detail

Pour configurer SPDY à l’aide de l’interface graphique

Accédez à Système> Profilset, dans l’onglet Profils HTTP, mettez à jour le profil sur lequel vous souhaitez activer SPDY.

Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels et associez le profil HTTP au serveur virtuel SSL approprié.

Dépannage de SPDY

Si les sessions SPDY ne sont pas activées même après avoir effectué les étapes requises, vérifiez les conditions suivantes.

Si le client utilise un navigateur Chrome, il se peut que SPDY ne fonctionne pas dans certains scénarios car Chrome n’initie pas la poignée de main TLS.

S’il existe un proxy de transfert entre le client et l’appliance Citrix ADC et que le proxy de transfert ne prend pas en charge SPDY, les sessions SPDY risquent de ne pas être activées.

Citrix ADC ne prend pas en charge NPN sur TLS 1.1/1.2. Pour utiliser SPDY, le client doit désactiver TLS1.1/1.2 dans le navigateur.

De même, si le client veut utiliser SPDY, SSL2/3 doit être désactivé sur le navigateur.