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
Create a new deployment
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 connexions à plusieurs fermes applicatives distinctes.
Pour le nom de notre Store, je vais utiliser « Portail« .
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.
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.
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.
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« .
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 nœud « Sites » puis sur « Default Web Site« .
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é 😉 !
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.
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.
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.
Update : voir le commentaire de Juvenal pour outrepasser ce blocage.
On modifiant la base de registres on peut forcer Citrix Receiver a accepter http
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCitrixDazzle
Valeur AllowAddStore mettre A
exemple sur du 64 bits WoW6432Node est à enlever sur du 32 bits
Merci de l’info 🙂