Configuration de Citrix StoreFront en https avec un certificat auto signé

Ban-Citrix-XenDesktop-7

Aujourd’hui, nous allons passer en revue le fonctionnement du nouveau portail web Citrix StoreFront dans le cas d’une infrastructure XenApp 7.

Dans cet article, nous allons voir comment configurer notre StoreFront avec un Site XenApp 7. Nous détaillerons l’ensemble de la procédure en passant par la configuration avec le protocole http non encrypté puis nous verrons quelles sont les modifications à réaliser dans Microsoft IIS et comment créer une certificat auto-signé pour pouvoir activer le protocole https sur notre portail web StoreFront.

Etape 0 – Les prérequis

Pour ce test, nous allons supposer que vous disposez déjà d’une infrastructure test qui comprend au minimum les rôles suivants : 1 Delivery Controller, 1 serveur SBC (avec le Virtual Delivery Agent), la console Citrix Studio (installée sur un poste client par exemple ou à défaut directement sur le DC) et bien entendu Citrix StoreFront. Notez que si vous souhaitez déployer un environnement de test, vous pouvez tout à fait installer l’ensemble de ces rôles sur une même machine virtuelle.

Vous aurez également déjà procédé à la configuration du Delivery Controller, créée la base de données SQL (éventuellement sur SQL Express), créé un catalogue de machine et créé un Delivery group test. Vous pouvez retrouver toutes les étapes d’installation et de configuration sur mon précédent article.

Etape 1 – Utilisation du protocole HTTP

2013-12-28_14h48_19

Create a new deployment

2013-12-28_14h49_18

Par défaut, l’URL de base qui est retenue par StoreFront correspond au hostname de la machine sur laquelle StoreFront a été déployé. Lorsque vous utilisez ou générez des certificats pour requérir au protocole https, le fait d’utiliser simplement le hostname au lieu du FQDN complet peut avoir un impact. Et comme l’inverse ne change rien, je vous recommande à cette étape de modifier le paramètre Base URL et d’utiliser le FQDN complet du serveur. Dans mon cas, la machine virtuelle s’appelle : SV-ST01 et mon domaine et hello.local.

Pour l’instant, il y a une alerte sur le fait que nous n’utilisons pas le protocole https. Ce n’est pas grave cela viendra ultérieurement dans cet article.

Nous choisissons maintenant le nom du Store qui va nous permettre d’accéder à notre ferme applicative (ou Site depuis XD7). N’oubliez pas qu’un serveur StoreFront peut héberger plusieurs portails différents et donc gérer plusieurs connections à plusieurs fermes applicatives distinctes.

Pour le nom de notre Store, je vais utiliser “Portail“.

2013-12-28_14h53_11

2013-12-28_14h55_21

Nous définissons maintenant auprès de quel Delivery Controller notre Store devra se connecter. Dans le cas de mon test, le Delivery Controller est sur une machine virtuelle dédiée appelée “SV-DC01“. Je l’ajoute comme Delivery Controller en spécifiant le FQDN (le hostname suffi à priori). Nous modifions le protocole en http et port 80.

2013-12-28_14h56_53

Terminez l’installation en cliquant sur “Create“. Après quelques instants, le site web permettant d’accéder à votre ferme applicative a été créé dans IIS.

2013-12-28_14h58_20

Rappe: comme je l’ai déjà précisé dans mon précédent article, lorsque vous créez un Store sur StoreFront, par exemple Portail, l’URL pour accéder à l’interface web est automatiquement au format :

  • http://serveur-storefront/Citrix/NomStoreWeb

Il faut donc penser à ajouter après le nom du store “Web” pour accéder l’interface web. Vous pourrez utiliser l’URL classique http://serveur-storefront/Citrix/NomStore lorsque vous souhaitez utiliser le client Receiver dans Windows plutôt que d’accéder aux ressources via l’interface web. Cliquez sur Finish.

Nous pouvons dès à présenter tester que tout fonctionne bien et que nous parvenons bien à démarrer une application SBC. Au besoin, procédez à l’installation du Receiver directement depuis la page web de votre accès StoreFront.

2013-12-28_15h06_05

Etape 2 – Passons maintenant à la configuration en HTTPS

Normalement, vous devriez acheter un véritable certificat SSL auprés d’une authorité tiers (Verisign ou autres). N’ayant pas cela sous la main, je vous proposer d’utiliser un certificat auto-signé. Pour cela, nous devons d’ores et déjà procéder à la configuration de notre serveur IIS.

Démarrez IIS Manager. Positionnez-vous au niveau du hostname de votre VM. Chercher le composant “Server Certificates“.

2013-12-28_15h09_02

2013-12-28_15h10_13

Cliquez à droite sur “Create Self-Signed certificate“. Dans la fenêtre qui apparaît donnez un nombre à votre certificat, par exemple “citrix” puis cliquez sur OK. Votre certificat est maintenant créé.

Dirigez-vous, toujours dans IIS Manager, dans le noeud “Sites” puis sur “Default Web Site“.

2013-12-28_15h13_03

Cliquez sur le bandeau latéral à droite sur Bindings et cliquez sur Add. Nous ajoutons le protocole HTTPS via le port 443 aux ports écoutés par IIS et choisissons dans le menu déroulant le certificat associé (celui que nous avons créé précédemment). Validez, et au besoin, faîtes un petit restart de IIS (à priori pas nécessaire mais bon…) 🙂

Nous retournons maintenant dans la console Citrix StoreFront. Il ne nous reste plus qu’à modifier la “Base URL” et ajouter le “S” au HTTP actuellement configuré 😉 !

2013-12-28_15h18_24

Normalement, en procédant de la sorte, vous n’avez même pas besoin de repasser sur les adresses de vos différents Store car la modification a été répercutée sur l’URL de chaque Store.

2013-12-28_15h21_02

Notez au passage que cette fois, nous avons bien désormais le petit symbole vert “OK” comme quoi nous sommes bien en HTTPS.

Essayons de nous re-connecter au StoreFront en HTTPS et voir si ça passe.

2013-12-28_15h22_55

Pas d’alerte sur notre certificat ou de page vous demandant de confirmer que voulez bien visiter le site en question… C’est tout bon ! 🙂

Pour aller plus loin – Client Receiver

Le principe serait le même avec un véritable certificat signé par une autorité externe.

A noter également que le client Receiver proposé par Citrix ne vous permet pas de spécifier une URL qui n’utilise pas le protocole sécurité HTTPS.

2013-12-28_15h55_15Update : voir le commentaire de Juvenal pour outrepasser ce blocage.