Configurer deux adresses URL pour la même instance Citrix Gateway

Dans StoreFront, vous pouvez ajouter une seule adresse URL Citrix Gateway à partir de la console de gestion StoreFront dans Gérer Citrix Gateway > Ajouter ou Modifier. Il est également possible d’ajouter une URL publique Citrix Gateway et une URL GSLB (équilibrage de charge globale des serveurs) dans Gérer Citrix Gateway > importé à partir d’un fichier.

Cet article vous explique comment utiliser les applets de commande PowerShell et le SDK PowerShell StoreFront pour utiliser un paramètre facultatif, - gslburl, pour définir l’attribut GslbLocation d’une passerelle. Cette fonctionnalité simplifie l’administration de Citrix Gateway dans StoreFront dans les cas d’utilisation suivants :

  1. Répartiteur GSLB avec plusieurs instances Citrix Gateway. Utilisez un répartiteur GSLB et plusieurs instances Citrix Gateway pour équilibrer la charge des connexions à distance aux ressources publiées dans deux ou plusieurs emplacements dans un déploiement Citrix global à grande échelle.
  2. Instance Citrix Gateway unique avec adresse URL publique ou privée. Utilisez la même instance Citrix Gateway pour l’accès externe à l’aide d’une adresse URL publique et pour l’accès interne à l’aide d’une adresse URL privée.

Il s’agit d’une fonctionnalité et d’un sujet avancés. Si vous n’êtes pas familier avec les concepts de passerelle StoreFront et répartiteur GSLB, veuillez consulter les liens Informations connexes à la fin de cet article.

Cette fonctionnalité offre les avantages suivants :

  • Prise en charge des deux adresses URL simultanées pour un seul objet passerelle.
  • Les utilisateurs peuvent basculer entre deux URL différentes pour accéder à Citrix Gateway sans que l’administrateur ne soit obligé de reconfigurer l’objet passerelle de StoreFront afin qu’il corresponde à l’URL de la passerelle que l’utilisateur veut utiliser.
  • Temps de préparation et durée des tests plus courts pour valider la configuration de la passerelle StoreFront lors de l’utilisation de plusieurs passerelles GSLB.
  • Possibilité d’utiliser le même objet Citrix Gateway dans StoreFront au sein de la DMZ pour l’accès externe et interne.
  • Prend en charge les deux adresses URL pour un routage optimal de la passerelle. Pour plus d’informations sur le routage optimal de passerelle, consultez la section Définir des magasins multisite à haute disponibilité.

Considérations sur le déploiement lors de l’utilisation des deux adresses URL de passerelle

  • Le nom de domaine complet gatewayURL s’affiche pour chaque passerelle dans la console d’administration StoreFront. La propriété GSLBURL de chaque passerelle n’est visible que via l’utilisation des applets de commande PowerShell.
  • L’URL gatewayURL est utilisée par les applications Citrix Receiver natives et l’application Citrix Workspace pour l’authentification.
  • L’URL gatewayURL est incluse dans la balise d’emplacement dans le fichier de provisioning (receiver.cr) utilisé pour configurer les applications Citrix Receiver et l’application Citrix Workspace avec des informations de magasin et de passerelle.
  • Utilisez le Powershell fourni pour modifier les fichiers web.config du magasin et du service d’itinérance. N’effectuez pas cette opération manuellement.

Important :

Avant de configurer une deuxième adresse URL de passerelle à l’aide du paramètre -gslburl, vérifiez les certificats de serveur en place et la manière dont votre entreprise effectue la résolution DNS. Les adresses URL que vous souhaitez utiliser dans votre déploiement Citrix Gateway et StoreFront doivent être présentes dans vos certificats de serveur. Pour plus d’informations sur les certificats de serveur, consultez la section Planifier l’utilisation des certificats de serveur et des passerelles.

DNS

  • Split DNS. Il est courant pour les grandes entreprises d’utiliser le split DNS. Le split DNS implique l’utilisation d’espaces de noms différents et de serveurs DNS différents pour la résolution DNS publique et privée. Vérifiez que l’infrastructure DNS dont vous disposez permettant de prendre en charge ce scénario.
  • URL unique pour l’accès externe et interne aux ressources publiées. Décidez si vous souhaitez utiliser la même adresse URL pour accéder aux ressources publiées aussi bien à l’intérieur qu’à l’extérieur de votre réseau d’entreprise, ou si deux adresses URL différentes sont acceptables telles que example.com et example.net.

Exemples de certificats de serveur

Cette section contient des exemples de déploiements de certificats de serveur lors de l’utilisation des deux adresses URL de passerelle.

Exemple de certificat de serveur pour un déploiement StoreFront avec charge équilibrée

Un certificat de serveur générique signé de manière privée doit contenir le nom de domaine complet *.storefront.example.net.

ou

Un certificat de serveur SAN signé de manière privée doit contenir tous les noms de domaine complets nécessaires pour équilibrer la charge de trois serveurs StoreFront.

loadbalancer.storefront.example.net
server1.storefront.example.net
server2.storefront.example.net
server3.storefront.example.net

Définissez l’URL de base d’hôte du groupe de serveurs StoreFront sur le nom de domaine complet partagé, qui est résolu sur l’adresse IP d’équilibrage de charge :

loadbalancer.storefront.example.net

Exemple de certificat de serveur pour une instance Citrix Gateway accessible en externe et en interne à l’aide du split DNS

Un certificat de serveur SAN signé publiquement pour l’accès externe et interne doit contenir les noms de domaine complets externes et internes.

gateway.example.com
gateway.example.net

Exemple de certificat de serveur pour toutes les passerelles GSLB accessibles en externe

Un certificat de serveur SAN signé publiquement pour l’accès externe via un répartiteur GSLB doit contenir les noms de domaine complets.

gslbdomain.example.com
emeagateway.example.com
usgateway.example.com
apacgateway.example.com

Cela permet à l’utilisateur d’accéder à la passerelle la plus proche à l’aide du répartiteur GSLB ou de choisir une passerelle dans l’emplacement de son choix à l’aide de son nom de domaine complet unique.

Cas d’utilisation 1 – Receiver pour Web : GSLB et plusieurs instances Citrix Gateway

L’administrateur utilise un répartiteur GSLB et plusieurs instances Citrix Gateway pour équilibrer la charge des connexions à distance aux ressources publiées dans deux ou plusieurs emplacements dans un déploiement Citrix global à grande échelle.

Répartiteur GSLB avec plusieurs instances Citrix Gateway

Dans cet exemple :

  • Chaque emplacement ou data center contient au moins une passerelle, un ou plusieurs serveurs StoreFront et un ou plusieurs Controller XenApp et XenDesktop afin de fournir des ressources publiées pour cet emplacement. Chaque service GSLB configuré sur les appliances GSLB Citrix ADC dans le déploiement global représente un vServer VPN de passerelle. Tous les serveurs StoreFront du déploiement doivent être configurés pour contenir tous les serveurs virtuels Citrix Gateway qui constituent la couche du répartiteur GSLB. Les instances GSLB Citrix Gateway sont utilisées en mode actif/passif mais peuvent également fournir un basculement en cas de défaillance de la connexion réseau, du DNS, de la passerelle, du serveur StoreFront ou des contrôleurs Citrix Virtual Apps and Desktops sur un emplacement. Les utilisateurs sont dirigés automatiquement sur une autre passerelle au cas où un service GSLB n’est pas disponible.
  • Les clients externes sont dirigés vers la passerelle la plus proche en fonction de l’algorithme d’équilibrage de charge GSLB configuré tel que la durée des boucles (RTT) ou la proximité statique lors de l’établissement de connexions à distance.
  • L’adresse URL unique de chaque passerelle permet aux utilisateurs de sélectionner manuellement le data center à partir duquel ils souhaitent lancer des ressources en choisissant l’URL spécifique à l’emplacement de la passerelle qu’ils veulent utiliser.
  • Le répartiteur GSLB peut être ignoré lorsque GSLB ou une délégation DNS ne fonctionne pas comme prévu. Les utilisateurs peuvent continuer à accéder aux ressources à distance sur n’importe quel data center à l’aide de l’adresse URL spécifique à l’emplacement jusqu’à ce que les problèmes liés au répartiteur GSLB sont résolus.

Cas d’utilisation 1 – Receiver pour Web, et applications Citrix Receiver ou application Citrix Workspace : GSLB et plusieurs instances Citrix Gateway

Attributs de passerelle

Pour utiliser GSLB avec des applications Citrix Receiver natives ou l’application Citrix Workspace, utilisez Add-STFRoamingGateway (create) ou Set-STFRoamingGateway (modify) pour spécifier les attributs suivants :

-GatewayUrl : défini comme nom de domaine complet partagé pour toutes les passerelles GSLB

-GSLBurl : défini comme nom de domaine complet de la passerelle unique pour chaque passerelle

Remarque :

Cette opération peut sembler paradoxale, mais elle n’a aucun impact sur ce cas d’utilisation Web. Cela permet de garantir que les applications Citrix Receiver natives ou l’application Citrix Workspace se voient attribuer le nom de domaine complet partagé utilisé par GSLB dans le document de découverte situé dans le point de terminaison https://storefront.domain.com/citrix/<storename>/discovery. Cela garantit également que le fichier de provisioning (receiver.cr) exporté par la commande d’exportation du fichier de provisioning de StoreFront contient le nom de domaine complet GSLB partagé.

Exemple de fichiers de provisioning

Exemple de fichier 1 utilisant -GatewayUrl https://gslb.domain.com. Cela permet aux applications Citrix Receiver natives ou à l’application Citrix Workspace d’utiliser GSLB pour se connecter aux passerelles.

Permet aux applications Citrix Receiver natives ou à l'application Citrix Workspace d'utiliser GSLB pour se connecter aux passerelles

Exemple de fichier 2 utilisant -GatewayUrl https://emeagateway.domain.com, https://usgateway.domain.com and https://apacgateway.domain.com. Cela permet aux applications Citrix Receiver natives ou à l’application Citrix Workspace d’utiliser les adresses URL uniques pour se connecter aux passerelles.

Permet aux applications Citrix Receiver natives ou à l'application Citrix Workspace d'utiliser les adresses URL uniques pour se connecter aux passerelles

Le nom de domaine complet partagé est utilisé pour l’authentification par les applications Citrix Receiver natives et par l’application Citrix Workspace.

Cas d’utilisation 2 – Instance Citrix Gateway unique avec adresse URL publique ou privée

L’administrateur utilise la même instance Citrix Gateway pour l’accès externe à l’aide d’une adresse URL publique et pour l’accès interne à l’aide d’une adresse URL privée.

Instance Citrix Gateway unique avec adresse URL publique ou privée.

Dans cet exemple :

  • L’administrateur souhaite que l’accès aux ressources publiées et que le trafic de lancement HDX transitent via une instance Citrix Gateway, même si le client est interne.
  • Citrix Gateway se trouve dans une DMZ.
  • Il existe deux itinéraires réseau différents vers Citrix Gateway via les deux pare-feu des deux côtés de la DMZ.
  • L’espace de noms externe public est différent de l’espace de noms interne.

Exemples d’applets de commande PowerShell

Utilisez les applets de commande PowerShell Add-STFRoamingGateway et Set-STFRoamingGateway avec le paramètre - gslburl pour définir l’attribut GslbLocation sur l’objet passerelle de StoreFront. Par exemple :

Add-STFRoamingGateway -Name "EMEAGateway" -GatewayUrl "https://emeagateway.example.com" -GSLBurl "https://gslb.example.com" -SubnetIPAddress "10.0.0.1" -CallbackUrl "https://emeagateway.example.com" -LogonType "DomainAndRSA" -SmartCardFallbackLogonType "None" -Version "Version10_0_69_4" -SecureTicketAuthorityUrls "https://emea-controller.example.com/scripts/ctxsta.dll,https://us-controller.example.com/scripts/ctxsta.dll,https://apac-controller.example.com/scripts/ctxsta.dll"
Set-STFRoamingGateway -Name "EMEAGateway" -GatewayUrl "https://emeagateway.example.com" -GSLBurl "https://gslb.example.com"
Get-STFRoamingGateway -Name "EMEAGateway" (returns just the EMEA gateway object)
Or
Get-STFRoamingGateway (returns all gateway object configured in StoreFront)

Pour le cas d’utilisation 1, vous pouvez supprimer GSLBurl de « EMEAGateway » en définissant GslbLocation sur NULL. Le PowerShell suivant modifie l’objet de passerelle $EMEAGateway stocké en mémoire. Set-STFRoamingGateway peut ensuite être transmis à $EMEAGateway pour mettre à jour la configuration de StoreFront et supprimer l’attribut GSLBurl.

$EMEAGateway = Get-STFRoamingGateway
$EMEAGateway.GslbLocation = $Null
Set-STFRoamingGateway -Gateway $EMEAGateway

Pour le cas d’utilisation 1, les passerelles suivantes sont renvoyées à l’aide de Get-STFRoamingGateway :

Name: EMEAGateway
Location: https://emeagateway.example.com/ (Unique URL for the EMEA Gateway)
GslbLocation: https://gslb.example.com/ (GSLB URL for all three gateways)

Name: USGateway
Location: https://USgateway.example.com/ (Unique URL for the US Gateway)
GslbLocation: https://gslb.example.com/ (GSLB URL for all three gateways)

Name: APACGateway
Location: https://APACgateway.example.com/ (Unique URL for the APAC Gateway)
GslbLocation:  https://gslb.example.com/ (GSLB URL for all three gateways)

Pour le cas d’utilisation 2, les passerelles suivantes sont renvoyées à l’aide de Get-STFRoamingGateway :

Name: EMEAGateway
Location: https://emeagateway.example.com/ (Public URL for the Gateway)
GslbLocation: https://emeagateway.example.net/ (Private URL for the Gateway)

Pour le cas d’utilisation 1, le routage de passerelle optimal est renvoyé à l’aide de Get-STFStoreRegisteredOptimalLaunchGateway :

$StoreObject = Get-STFStoreService -SiteId 1 -VirtualPath "/Citrix/<YourStore>"

Get-STFStoreRegisteredOptimalLaunchGateway -StoreService $StoreObject

Hostnames:       {emeagateway.example.com, gslb.example.com}
Hostnames:       {usgateway.example.com, gslb.example.com}
Hostnames:       {apacgateway.example.com, gslb.example.com}

L’URL GSLB ou l’URL interne de chaque passerelle est stockée dans le fichier web.config du service d’itinérance

StoreFront n’affiche pas l’adresse URL du répartiteur GSLB ni l’adresse URL interne de chaque passerelle dans la console de gestion StoreFront, toutefois, il est possible de voir le chemin d’accès GSLBLocation configuré pour toutes les passerelles GSLB en ouvrant le fichier Web.Config du service d’itinérance dans C:\inetpub\wwwroot\Citrix\Roaming\web.config sur le serveur StoreFront.

Cas d’utilisation 1 – Passerelles dans le fichier web.config du service d’itinérance

<gateway id="cca13269-18c1-10fd-a0df-7931b3897aa8" name="EMEAGateway" default="false" edition="Enterprise" version="Version10_0_69_1" auth="DomainAndRSA" smartcardfallback="None" ipaddress="10.0.0.1" rwmode="NONE" deployment="Appliance" callbackurl=https://emeagateway.example.com/CitrixAuthService/AuthService.asmx sessionreliability="true" requesttickettwosta="false" stasUseLoadBalancing="false" stasBypassDuration="01:00:00">
<location path="https://emeagateway.example.com/" /><gslbLocation path="https://gslb.example.com/" /><clusternodes>
<clear />
</clusternodes>
<silentauthenticationurls>
<clear />
</silentauthenticationurls>
<secureticketauthorityurls>
<clear />
<location path="https://emea-controller.example.com/scripts/ctxsta.dll" />
<location path="https://us-controller.example.com/scripts/ctxsta.dll" />
<location path="https://apac-controller.example.com/scripts/ctxsta.dll" />
</secureticketauthorityurls>
</gateway>

<gateway id="b8ec720c-d85e-1889-8188-1cf08a2cf762" name="USGateway" default="false" edition="Enterprise" version="Version10_0_69_1" auth="DomainAndRSA" smartcardfallback="None" ipaddress="10.0.0.2" rwmode="NONE" deployment="Appliance" callbackurl="https://usgateway.example.com/CitrixAuthService/AuthService.asmx" sessionreliability="true" requesttickettwosta="false" stasUseLoadBalancing="false" stasBypassDuration="01:00:00"><location path="https://usgateway.example.com/" /><gslbLocation path="https://gslb.example.com/" /><clusternodes>
<clear />
</clusternodes>
<silentauthenticationurls>
<clear />
</silentauthenticationurls>
<secureticketauthorityurls>
<clear />
<location path="https://emea-controller.example.com/scripts/ctxsta.dll" />
<location path="https://us-controller.example.com/scripts/ctxsta.dll" />
<location path="https://apac-controller.example.com/scripts/ctxsta.dll" />
</secureticketauthorityurls>
</gateway>

<gateway id="c57117b5-e111-1eed-9117-a1ffa1c8100e" name="APACGateway" default="false" edition="Enterprise" version="Version10_0_69_1" auth="DomainAndRSA" smartcardfallback="None" ipaddress="10.0.0.3" rwmode="NONE" deployment="Appliance" callbackurl="https://apacgateway.example.com/CitrixAuthService/AuthService.asmx" sessionreliability="true" requesttickettwosta="false" stasUseLoadBalancing="false" stasBypassDuration="01:00:00"><location path="https://apacGateway.example.com/" /><gslbLocation path="https://gslb.example.com/" /><clusternodes>
<clear />
</clusternodes>
<silentauthenticationurls>
<clear />
</silentauthenticationurls>
<secureticketauthorityurls>
<clear />
<location path="https://emea-controller.example.com/scripts/ctxsta.dll" />
<location path="https://us-controller.example.com/scripts/ctxsta.dll" />
<location path="https://apac-controller.example.com/scripts/ctxsta.dll" />
</secureticketauthorityurls>
</gateway>

Cas d’utilisation 2 – Passerelles dans le fichier web.config du service d’itinérance

<gateway id="cca13269-18c1-10fd-a0df-7931b3897aa8" name="EMEAGateway" default="false" edition="Enterprise" version="Version10_0_69_1" auth="Domain" smartcardfallback="None" ipaddress="10.0.0.1" rwmode="NONE" deployment="Appliance" callbackurl="https://emeagateway.example.com/CitrixAuthService/AuthService.asmx" sessionreliability="true" requesttickettwosta="false" stasUseLoadBalancing="false" stasBypassDuration="01:00:00">
<location path="https://emeagateway.example.com/" />
<gslbLocation path=" https://emeagateway.example.net/" />
<clusternodes>
<clear />
</clusternodes>
<silentauthenticationurls>
<clear />
</silentauthenticationurls>
<secureticketauthorityurls>
<clear />
<location path="https://emea-controller.example.net/scripts/ctxsta.dll" />
</secureticketauthorityurls>
</gateway>

Informations connexes

Dans la documentation du développeur, reportez-vous à la section Citrix StoreFront SDK PowerShell Modules.