Utiliser SPDY sur votre serveur Web

Le protocole de Google, SPDY, offre comme nous venons de le voir dans un précédent article, plusieurs avantages par rapport au service de trafic traditionnel via le protocole HTTP/HTTPS. Mais, comme je l’ai mentionné, vous devez activer SPDY sur les deux extrémités pour le faire fonctionner. Autrement dit, vous avez besoin d’un navigateur qui prend en charge SPDY, et des serveurs Web qui fournissent des contenus à l’aide SPDY. Si côté navigateur il y a peu de chose à faire hormis le fait de passer sous Chrome ou Firefox, de l’autre extrémité, vous devez prendre quelques mesures supplémentaires pour mettre en place le module SPDY.

La bonne nouvelle est que si vous utilisez Apache sur des distributions récentes, l’installation et l’utilisation de SPDY sont une simple formalité.

Installation des paquetages SPDY

À l’heure actuelle, Google fournit les paquets binaires pour Debian ou des RPM pour les systèmes basés sur Apache 2.2.4 ou supérieure. Si votre système est donc basé sur Debian ou Fedora / Red Hat, vous devriez avoir peu de difficulté de rendre SPDY utilisable sur votre service. Si ce n’est pas le cas, Google fournit également le code source pour le module SPDY, vous permettant ainsi de compiler le module si nécessaire.

Avant d’installer SPDY, vous aurez besoin d’avoir un certificat SSL, car, comme mentionné précédemment SPDY utilise le protocole SSL. Il peut s’agir d’un certificat auto-signé, mais sachez que lorsque vous, ou vos utilisateurs, vont accéder à votre site par le biais de leur navigateur un message d’alerte sera affiché indiquant que votre certificat n’est pas valide. S’il s’agit juste de tester SPDY, il s’agit simplement d’un petit désagrément mais rien de bien grave. Cependant, si vous êtes en train de regarder pour déployer SPDY sur un site de production, il sera probablement nécessaire de prendre les devants et d’acheter un certificat signé par une autorité reconnue.

Note : S’il est possible de désactiver la prise en charge du protocole SSL, ce n’est pas recommandé, ni même en phase de débogage

Si c’est la première fois que vous mettez en place le protocole SSL sur une distribution, je vous recommande de consulter la documentation de celle-ci pour en apprendre davantage sur la configuration SSL.

La prochaine étape est de récupérer le bon paquet pour votre système. Mon serveur fonctionne avec une Ubuntu 10.04 LTS, et c’est un système 32-bit. Pour cela, le paquet 32 bits Debian fonctionne à merveille, mais Google offre également des packages pour la version 64-bit. Tous les paquets sont sur la page mod_spdy du site Google Developers.

Pour les systèmes Debian, vous devez utiliser dpkg pour installer le module, comme ceci :

dpkg -i mod-spdy-beta_current_i386.deb

Notez que c’est le nom du package actuel, il sera susceptible de changer rapidement lorsque Google aura décidé de modifier le statut du module d’une version bêta à la version stable. Espérons simplement que cela ira plus vite que ce que l’on a l’habitude avec la firme…

Google indique également que vous devez exécuter apt-get -f install, mais cela n’a eu aucun effet sur mon système. Vraisemblablement, certains systèmes nécessitent l’installation de dépendances supplémentaires.

Ensuite, vous aurez besoin de redémarrer Apache pour que le nouveau module soit reconnu et pris en charge. Les paquets ajoutent automatiquement les fichiers spdy.conf et spdy.load pour Apache, de sorte que SPDY démarre automatiquement lors du lancement d’Apache.

Test

Une fois que vous avez le module SPDY d’installé et d’activé, utilisez Chrome, par exemple, et visitez une page de votre site en passant bien par l’utilisation du protocole HTTPS. De plus, vous pouvez visiter la page chrome://net-internals/#spdy dans Chrome pour voir si SPDY est activé, et chrome://net-internals/#events&q=type:SPDY_SESSION%20is:active affichera les sessions créées et actives.

Utiliser SPDY sur votre serveur Web

Je vous recommande de faire des tests approfondis avant de pousser un déploiement de SPDY en production. Jusqu’à présent, je n’ai eu aucun problème avec mon blog WordPress, mais j’ai trouvé quelques problèmes sur l’installation d’un projet annexe. Apparemment, d’autres utilisateurs ont rencontré également des problèmes.

Si vous décidez de ne pas utiliser SPDY en production tant que celui-ci n’est pas en version stable, vous pouvez tout simplement le désactiver sans avoir à retirer les paquets. Pour ce faire, ouvrez le fichier spdy.conf (dans /etc/apache2/mods-available sur les systèmes Debian) et indiquez la valeur off pour la variable SpdyEnabled. Vous aurez besoin de redémarrer Apache pour que cela prenne effet.

On parle de plus de SPDY comme un module officiel d’Apache, de sorte qu’il sera peut être encore plus facile d’obtenir SPDY dans un avenir pas trop lointain. Jusque-là, il est encore assez trivial d’installer SPDY, et vous devriez être en mesure de l’avoir opérationnel en moins de trente minutes.

Avez-vous rencontré des difficultés ? Avez-vous noté des améliorations avec la mise en place du module ? Venez en parler…