StoreFront erreur : Cannot complete your request

Si vous rencontrez un jour l’erreur “Cannot complete your request” après l’étape du login dans un StoreFront, on vous invite à vérifier que le certificat présent dans vos StoreFront est bien valide et surtout que le “Chemin d’accès de certification” est complet et sans erreur 😉 .

 

 

Dans notre cas ce qui nous a mis sur la piste du certificat est l’event ID 17 présent sur les StoreFront) :

 

Log Name: Citrix Delivery Services
Source: Citrix Receiver for Web
Event ID: 17
Description:
Failed to run discovery
Citrix.Web.DeliveryServicesProxy.ConfigLoader.DiscoveryServiceException, ReceiverWebConfigLoader, Version=3.15.0.0, Culture=neutral, PublicKeyToken=null
An error occurred while contacting the Discovery Service

System.Net.WebException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Url: https://127.0.0.1/Citrix/UT09/discovery
ExceptionStatus: TrustFailure

 

Au moins c’est clair 🙂 .

 

Dans le cas présent c’est une suite de problèmes sur la PKI (dont un mémorable rennomage…..) qui a généré un certifcat assez roccambolesque lors du renouvellement du certificat des StoreFront.

 

Une fois la PKI et les certificats restaurés tout est revenu à la normale.

Nous sommes partagés par regarder Gaston Lagaff ou faire un Cludeo.

 


Ok pour le Cluedo, on veut trouver le coupable 🙂

 

 

 

 

 

Post to Twitter

StoreFront : activez le SSO (Pass-Through) sur le PNAgent

Comme vous le savez sûrement, sous StoreFront la configuration d’un site PNAgent diffère de celle de Web Interface. En effet sous Web Interface il fallait créer un site de type “XenApp Services Sites” alors que sous StoreFront le “site” PNAgent est créé automatiquement dans chaque Store.

 

site_pna1Ça fait Time Machine de voir ce screenshot 🙂

 

site_pna2Pour configurer le PNA sous StoreFront il faut dans votre STORE cliquer sur “Configure XenApp Service Support” puis choisir le “Default store”

 

Bon ok, mais quand on veut faire du SSO on fait comment, (comme d’hab à l’ancienne 😉 ) , direction le dossier C:\inetpub\wwwroot\Citrix\VotreStore puis ouvrez le ficher web.config. Recherchez la chaine logonMethod=”prompt” puis modifiez la en logonMethod=”sson”.

Bien sûr vous pouvez aussi passez par la case PowerShell, voir le billet de nos collègues de chez kylewise.

Post to Twitter

StoreFront : désactiver la détection du receiver

Sous StoreFront  (dans notre cas un 3.01…..LTSR oblige) désactivez la détection du receiver se fait via le fichier web.config (dans C:\inetpub\wwwroot\Citrix\VotreStoreWeb\ ), en modifiant la chaine pluginAssistant enabled=”true”  par pluginAssistant enabled=”false”.

Si vos utilisateurs utilisent Chrome (comme vous le savez Chrome ne supporte plus le NPAPI depuis septembre 2015, si vous souhaitez plus d’informations sur NPAPI c’est par ici) comme navigateur il faudra en plus modifier la chaine <protocolHandler enabled=”true” par <protocolHandler enabled=”false”, puis enregistrez votre web.config.

Vous pouvez aussi passer par l’outil “Citrix StoreFront GUI” disponible dans la CTX138991 (Attention Citrix StoreFront GUI ne fonctionne pas à partir de la version 3.5 de StoreFront).

 

SF_Conf_GUIPour les plus fainéants 😉

 

Post to Twitter

StoreFront : Cannot start app

Si vous rencontrez l’erreur “Cannot start app………..” lors du lancement d’application publiée via un StoreFront, nous vous conseillons d’aller voir du côté des serveurs hébergeant l’application en question (car pour le coup c’est comme en XenApp 6.5, même symptôme même conséquence, voir la fin du billet si vous n’êtes pas patient).

 

VdaError01Ça fait toujours plaisir ce type de message 😉

 

Au passage sur nos DDC l’event 1101 confirme que l’application n’a pu être lancée pour les utilisateurs.

Log Name:      Application
Source:        Citrix Broker Service
Event ID:      1101
User:          NETWORK SERVICE
Computer:
Description:
The Citrix Broker Service failed to broker a connection for user “domain\user” to resource ‘Dxdiag’. The Citrix Broker Service cannot find any available virtual machines.


VdaError03Bien sur le Dxdiag est pour l’exemple 😉



Sur les serveurs hébergeant l’application nous avons constaté l’event 1039.

Log Name:      Application
Source:        Citrix Desktop Service
Event ID:      1039
Computer:
Description:
The Citrix Desktop Service failed to initialize a performance counter. Load management associated with this counter will be disabled.

 

VdaError02C’est la que nous comprenons l’origine du problème

 

En regardant dans Studio nous avons constaté que les serveurs en question avaient un load de 10000 sans raison apparente.

VdaError04Quelques recherche plus loin, nous sommes contents de tomber sur un de nos billets “Charge serveur bloqué sur 10000” 🙂

 

Allez sur vos serveurs XenApp et lancez un coup de “lodctr.exe /r”, cela va permettre de recréer manuellement les valeurs de la bibliothèque du compteur de Performance.

VdaError05
Une fois la commande lodctr.exe /r  passée les applications  étaient à nouveau disponibles.

 

Au passage ces serveurs XenApp étaient issues d’une migration XenApp 6.5 vers une de nos fermes XenApp 7.6 LTSR, du coup on va rajouter un check perfmon après la migration de serveur 🙂 .

 

Post to Twitter

StoreFront : afficher le nom (displayname) des applications sans troncage

il peut arriver dans certaines productions que le nom des applications soit à rallonge, dans ce cas la StoreFront va automatiquement tronquer le nom de l’application si ce dernier dépasse les 17 caractères.

 

SF_Apps_Full_Displayname1On a pas le droit d’avoir le DisplayName en entier, on a payé pourtant 🙂

 

Pour afficher le nom des applications en entier il vous faudra modifier le fichier C:\inetpub\wwwroot\Citrix\VotreSotreWeb\receiver\js\ctxs.webui.min_35BC18E54FFE70CC.js (attention, selon la version de StoreFront la suite numérique peut varier).

 

Une fois le fichier ctxs.webui.min_35BC18E54FFE70CC.js ouvert, modifiez la ligne ci-dessous :

c = CTXS.UI.useSmallTiles() ? 120 : 140;

par

c = CTXS.UI.useSmallTiles() ? 120 : 240;

 

Enregistrez le fichier ctxs.webui.min_35BC18E54FFE70CC.js.

 

SF_Apps_Full_Displayname2
C’est plus lisible du coup 😉

 

Nous avons testé cette modification avec des StoreFront 3.01 et 3.5.

 

Attention si le nom de vos applications (DisplayName) ne comporte pas d’espace (hé oui on a eu le cas) il n’y aura pas de retour à ligne dans StoreFront.

Post to Twitter

PowerShell : désactiver les abonnements utilisateur

Comme ce n’est pas vraiment documenté (voir pas du tout), on vous met la ligne de commande pour désactiver en PowerShell les abonnements utilisateur (Disable User Subscription) d’un magasin (Store) dans StoreFront.

Set-DSLockedDownStore  -SiteId “1” -VirtualPath “/Citrix/VotreStore” -IsLockedDown $True

Bon on vous l’avoue, c’est pour aussi l’avoir sous la main pour une prochaine fois 😉 .

Post to Twitter

Erreur Web Interface : Invalid URI: The hostname could not be parsed.

Quoi de plus énervant que de retrouver des journaux Windows pollués d’erreurs à ne plus en finir, c’est dans ce contexte que nous avons trouvé certaines Web Interface.

 

Les Web Interface en questions (Windows 2008 Us R2, Web Interface 5.4) généraient l’Event ID 21002 toutes les 3 secondes :

Log Name:      Application
Source:        Citrix Web Interface
Event ID:      21002
Task Category: None
Level:         Error
Keywords:      Classic
Description:
Site path: C:\inetpub\wwwroot\Citrix\Site1.
Critical server error: System.UriFormatException: Invalid URI: The hostname could not be parsed.

 

Event21002_01Il ne reste plus qu’à trouver la source

Event21002_02Inutile de nous faire le coup du “mais où est ton Logstash, ElasticSearch et Kibana ou mieux ton SexiLog pour Citrix” 🙂

Event21002_03Un Wireshark après nous avons trouvé la cause, un cluster de F5 qui monitorait un Site Webi via un GET /Citrix/Site1/auth/login.aspx.

Event21002_04Une fois le monitor corrigé (via un Get sur le site webi  /Citrix/Site1, sans auth/login.aspx) par nos collègues F5.

Post to Twitter

StoreFront : An error has occured during the all server configuration update process

Une feature bien pratique sous StoreFront est bien-sûr le “Propagate Changes” qui permet comme son nom l’indique de propager les modification d’un StoreFront sur l’ensemble d’un Server Group. Mais voilà il peut arriver que la propagation s’enrhume 🙂 .

SF3-error1La bonne nouvelle est qu’on a un event qui va nous mettre sur la root cause (voir plus bas)

 

Dans le cas présent nous avons un serveur groupe de trois StoreFront (W2k12 R2 US, StoreFront 3.0.1.56 -hé oui c’est une infra LTSR 😉 ), lors de propagation (au préalable les serveurs ont bien été ajoutés au serveur group mais la propagation n’avait pas fonctionné) nous avions systématiquement l’event 31 sur le serveur StoreFront où nous lancions la propagration.

Log Name:      Citrix Delivery Services
Source:        Citrix Configuration Replication Service
Event ID:      31
Level:         Error
Description:
An error has occured during the all server configuration update process.
Citrix.DeliveryServices.ConfigurationReplication.Exceptions.ServerUpdateConfigurationException, Citrix.DeliveryServices.ConfigurationReplication, Version=3.0.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856
An error occurred running the command: ‘Add-DSFeatureInstances’
<Data>An error has occured during the all server configuration update process.
An error occurred running the command: ‘Add-DSFeatureInstances’
The feature data is out of date
At line:1 char:1
+ Add-DSWebReceiver -SiteId 1 -VirtualPath /Citrix/StoreWeb -AppPool ‘Citrix  …
RemoteEndpoint: net.tcp://YourServer/Citrix/ConfigurationReplication

Nous comprenons que nous avons donc un problème avec le Site StoreWeb sur les deux autres StoreFront, en regardant de plus près ces StoreFront ont subi un Clear-DSConfiguration et visiblement tout ne s’est pas supprimé durant le “reset factory” (voir la CTX200239 pour de plus amples informations sur le reset factory).

Dans IIS, nous avons constaté que dans L’Application Pools, L’application “Citrix Receiver for web” avait encore le Virtual Path “StoreWeb” de bindé.
Afin de supprimer le Virtual Path StoreWeb, nous avons créé une application TEST puis nous avons déplacé le Virtual Path StoreWeb dans cette nouvelle application et enfin nous avons supprimé l’application TEST.

 

SF3-error2Il ne reste plus qu’à supprimer le Virtual Path en cause 😉

 

Une fois ces actions réalisées le “Propagate Changes” passait sans problème.

 

SF3-error3Le mot « vert » vient du latin virĭdis, qui veut dire « vert » (voir ici) 🙂

 

Post to Twitter

Web Interface erreur : 404 – File or directory not found

Suite à une mise à jour de Web Interface 5.4.059 vers 5.4.2.59 (OS : 2008 R2 sp1 US), des sites affichait un message “404 – File or directory not found”  après l’authentification.


Wi_error1Bien que non bloquant pour lancer une application publiée, ça fait moyen en prod.


Comme le message est explicite, nous avons regardé dans le WebInterface.conf et avons constaté que la partie AppSysMessage_fr pointait sur un chemin incomplet (au passage ce chemin passait en 5.4.059) :

AppSysMessage_fr=<iframe src=’Msg_Info.html’ width=’650′ height=’200′ align=center seamless frameborder=0></iframe>


En corrigeant le chemin de l’ifram src comme ci-dessous l’erreur 404 n’apparaît plus.

AppSysMessage_fr=<iframe src=’..\site\Msg_Info.html’ width=’650′ height=’200′ align=center seamless frameborder=0></iframe>


Wi_error2Une fois le WebInterface.conf corrigé

Post to Twitter

Customisation StoreFront 3.x (2/2)

Suite et fin de notre billet sur la Customisation de StoreFront 3.x, pour rappel le premier billet concernait la customisation de la page de login  : Customisation StoreFront 3.x (1/2) (cette customisation est comprise dans ce billet).

 

SF3_Custo2-01Une fois authentifier dans un StoreFront 3.x on arrive sur le theme X1, un peu blanchâtre à notre goût.

 

Ci-dessous des screenshots une fois la customisation appliquée (on a juste joué avec la touche F12 de notre browser favori, donc juste un peu de patience et c’est tout).

 

SF3_Custo2-04

SF3_Custo2-02

SF3_Custo2-05
On aurait dû mettre un bon vieux wave après le logon, du style “Bienvenue dans le côté obscur” 🙂

 

Vous trouverez ci-dessous la liste des éléments que nous avons modifiés via le fichier « style.css » (contenu dans le répertoire « Custom ») afin de vous permettre de mettre en place votre propre customisation  (surtout les logos 😉 )

  • Modification de la couleur de la page de chargement
    .loading-screen {
     background-color: #000000;
    }
    Modifier la couleur de l’entête
  • .theme-header-bgcolor {
    background-color:#000000;
    }
  • Modifier la couleur de la police de la toolbar
    .toolbar-button-unselected {
    color: #FFFFFF;
    }
  • Modifier la couleur de fond de la toolbar
    .toolbar {
    background-color: #000000;
    }
  • Modifier la couleur de surbrillance de la toolbar
    .theme-highlight-color {
    color: #F4FA58;
    }
  • Modifier la couleur de la bordure de surbrillance
    .theme-highlight-border-color {
    border-color: rgb(255, 45, 45);
    }
  • Modifier la taille de la bordure de surbrillance
    .large .store-view .toolbar-button.selected {
    border-bottom-width: 2px;
    }
  • Modifier l’image de fond
    .storeViewSection {
    background: url(“../receiver/images/CustoImages/SF_custo_FullScreenBackground_46E559C0E6B5A27B.jpg”) no-repeat center center fixed;
    }
  • Modifier la couleur de la police des applications et bureau
    .largeTiles .storeapp .storeapp-name{
    color: #FFFFFF;
    }
  • Supprimer l’affichage de la section “Détails” des applications et bureaux
    .largeTiles .storeapp-action-link {
    display: none;
    }
  • Supprimer l’affichage “Toutes les applications” au dessus des applications
    .largeTiles .store-view .store-apps-title {
    display: none;
    }
  • Modifier la taille des icones des applications et bureaux
    .storeapp-icon, .storeapp-loading-overlay, .storeapp-ready-overlay {
    border: 0 transparent;
    height: 40px;
    width: 40px;
    }
  • Réduire la taille des colonnes applicatives et bureaux
    .storeapp-list .storeapp, .storeapp-list .folder {
    width: 195px;
    }
  • Supprimer les bordures au niveau des applications et bureaux
    .largeTiles .storeapp {
    border-right: none;
    }
  • Supprimer le compteur sur les dossiers applicatifs
    .largeTiles .folder .folder-count{
    display: none;
    }
  • Modifier la couleur de fond du menu utilisateur et suppression des bordures verticales
    .dropdown-menu .dropdown-menu-body {
    background: #000000;
    border: none;
    }
  • Modification du menu utilisateur
    • Modifier la taille et la couleur de la bordure haute
      .dropdown-menu .dropdown-menu-top {
      height: 2px;
      background-color: #fff;
      opacity: none;
      }
    • Modifier la couleur de police
      .theme-highlight-color {
      color: #FFFFFF;
      }
    • Suppression de la bordure basse
      .dropdown-menu .dropdown-menu-bottom {
      background: none;
      border: none;
      }
  • Modification de la fenêtre “A propos de”
    • Modification de la couleur de fond
      .popup {
      background-color: #7D7C7C;
      }
    • Modification de la couleur du texte : “2015 Citrix Systems…..”
      .aboutBox, .about-view {
      color: #C4C1C5;
      }
    • Modification de la couleur du lien: “Citrix Receiver pour Web”
      .thirdPartyNoticeLink {
      color: #FFFFFF;
      }
    • Modification de la couleur du lien: “www.citrix.com”
      .citrixLink {
      color: #FFFFFF;
      }
  • Modifier le logo de la page de téléchargement du Receiver
    .large .detection-right-links {
    background: url(“../receiver/images/CustoImages/SF_custo_CitrixReceiver_WebScreen_CBE548FB8FEE049E.png”) no-repeat;
    }
  • Modifier le logo de la page principale
    .logo-container {
    background-image: url(“../receiver/images/CustoImages/SF_custo_CitrixReceiverLogo_Home_5C24BCEC5A182425.png”);
    }
  • Modifier l’image de la page des favoris
    .no-fav-results-message-image {
    background: url(“../receiver/images/CustoImages/SF_custo_img_favorites_empty_7FBE69CFC0FDDB2D.png”) no-repeat center;
    }
  • Modifier la couleur de la police du popup de timeout
    .messageBoxText {
    color: FFFFFF;
    }

La mise en place de cette customisation est simple et rapide, décompresser le fichier « Custo2_SF3x.rar » et copier le fichier « style.css » dans « ..\VotreStoreWeb\Custom » (au préalable faite un backup de votre fichier « style.css »), copier le répertoire « CustoImages » dans « …\VotreStoreWeb\receiver\images » puis vider le cache de votre navigateur.

 

Download_2Custo2_SF3x.rar

 

Quelques liens traitant de customisation StoreFront 3.x :

Post to Twitter