Configurar dos direcciones URL para un mismo dispositivo Citrix Gateway

En StoreFront, puede agregar una dirección de URL de Citrix Gateway desde la consola de administración de StoreFront, con la opción Administrar Citrix Gateway > Agregar o Modificar. También es posible agregar una URL de Citrix Gateway pública y una URL de equilibrio de carga global de servidores (GSLB) en Administrar Citrix Gateway > Importar desde un archivo.

Este artículo, muestra cómo usar los cmdlets de PowerShell y el SDK de PowerShell de StoreFront para usar un parámetro optativo, - gslburl, para establecer el atributo GslbLocation de una puerta de enlace. Esta funcionalidad simplifica la administración de Citrix Gateway en StoreFront en los siguientes casos de uso:

  1. GSLB y varios dispositivos Citrix Gateway. Use GSLB y varios dispositivos Citrix Gateway para equilibrar la carga de conexiones remotas con recursos publicados en dos o más ubicaciones dentro de una implementación de Citrix global de gran tamaño.
  2. Un único dispositivo Citrix Gateway con una URL pública o privada. Use el mismo dispositivo Citrix Gateway para el acceso externo mediante una URL pública, y para el acceso interno, mediante una URL privada.

Se trata de una función y un tema avanzados. Si no conoce las puertas de enlace de StoreFront con GSLB (Global Server Load Balancing), consulte los enlaces de información relacionada que hay al final de este artículo.

Esta función ofrece las ventajas siguientes:

  • Compatibilidad con dos URL simultáneas para un mismo objeto de puerta de enlace.
  • Los usuarios pueden alternar entre dos direcciones URL diferentes para acceder a Citrix Gateway sin que el administrador vuelva a configurar el objeto de puerta de enlace de StoreFront para que coincida con la URL de puerta de enlace que el usuario quiere usar.
  • Períodos de instalación y prueba más cortos, para validar la configuración de la puerta de enlace de StoreFront cuando se usan varias puertas de enlace con GSLB.
  • Utilizar el mismo objeto de Citrix Gateway en StoreFront dentro de la zona DMZ tanto para el acceso interno como para el externo.
  • Compatibilidad con ambas direcciones URL para un enrutamiento de la puerta de enlace óptimo. Para obtener más información sobre el enrutamiento óptimo de puertas de enlace, consulte Configurar almacenes multisitio con alta disponibilidad.

Consideraciones sobre la implementación cuando se usan dos direcciones URL de puerta de enlace

  • El nombre de dominio completo de gatewayURL se muestra para cada puerta de enlace en la consola de administración de StoreFront. La propiedad GSLBURL de cada puerta de enlace solo es visible mediante el uso de cmdlets de PowerShell.
  • Las aplicaciones nativas de Citrix Receiver y Citrix Workspace utilizan gatewayURL para la autenticación.
  • gatewayURL se incluye en la etiqueta de ubicación del archivo de aprovisionamiento (receiver.cr) utilizado para configurar las aplicaciones de Citrix Receiver y Citrix Workspace con información de almacenes y puertas de enlace.
  • Utilice el PowerShell proporcionado para modificar los archivos web.config de almacén e itinerancia. No lo haga manualmente.

Importante:

Antes de configurar una segunda dirección URL de puerta de enlace mediante el parámetro - gslburl, revise los certificados de servidor con los que se cuenta y cómo se lleva a cabo la resolución de DNS en la organización. Las direcciones URL que se quieran usar en la implementación de Citrix Gateway y StoreFront deben estar presentes en los certificados del servidor. Para obtener más información sobre certificados de servidor, consulte Planificación de uso de la puerta de enlace y el servidor de certificados.

DNS

  • DNS dividido. Las empresas grandes con frecuencia usan infraestructuras de DNS dividido. El DNS dividido implica el uso de espacios de nombres diferentes y servidores DNS diferentes y resolución DNS privada. Compruebe si tiene la infraestructura DNS existente que admita esto.
  • Una misma URL para el acceso interno y externo a los recursos publicados. Debe decidir si quiere utilizar la misma dirección URL para acceder a recursos publicados desde fuera y desde dentro de la red corporativa. Si no, considere si la posibilidad de tener direcciones URL distintas sería aceptable. Por ejemplo: example.com y example.net.

Ejemplos de certificado de servidor

Esta sección contiene ejemplos de implementaciones de certificado de servidor cuando se usan dos direcciones URL de puerta de enlace.

Ejemplo de certificado de servidor para una implementación de StoreFront con equilibrio de carga

Un certificado de servidor comodín firmado de forma privada debe contener el nombre FQDN *. storefront.example.net.

O bien:

Un certificado de servidor SAN firmado de forma privada debe contener todos los FQDN necesarios para equilibrar la carga de tres servidores StoreFront.

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

Establezca la URL base del host del grupo de servidores StoreFront para que sea el nombre de dominio completo compartido, que recurre a la dirección IP del equilibrador de carga:

loadbalancer.storefront.example.net

Ejemplo de certificado de servidor para un dispositivo Citrix Gateway al que se accede de forma externa e interna mediante un DNS dividido

Un certificado de servidor SAN firmado públicamente para el acceso interno y externo debe contener los nombres FQDN interno y externo.

gateway.example.com
gateway.example.net

Ejemplo de certificado de servidor para todas las puertas de enlace con GSLB a las que se accede externamente

Un certificado de servidor SAN firmado públicamente para el acceso externo a través de GSLB debe contener los nombres FQDN.

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

Esto permite al usuario acceder a la puerta de enlace más cercana usando GSLB o elegir una puerta de enlace en la ubicación que desee usando su nombre FQDN exclusivo.

Caso de uso n.º 1: Receiver para Web: GSLB y varios dispositivos Citrix Gateway

El administrador usa el equilibrio de carga de servidores global (GSLB) y varios dispositivos Citrix Gateway para equilibrar las conexiones remotas con recursos publicados en dos o más ubicaciones, dentro de una implementación global de Citrix de gran tamaño.

GSLB y varios dispositivos Citrix Gateway

En este ejemplo:

  • Cada ubicación o centro de datos contiene al menos una puerta de enlace, uno o varios servidores StoreFront y uno o varios Controllers de XenApp y XenDesktop para ofrecer recursos publicados en esa ubicación. Cada servicio GSLB configurado en los dispositivos Citrix ADC GSLB dentro de la implementación global representa un servidor virtual VPN de puerta de enlace. Todos los servidores StoreFront de la implementación deben estar configurados para que contengan todos los servidores virtuales de Citrix Gateway que componen la capa de GSLB. Los dispositivos Citrix Gateway GSLB se usan en modo activo/activo pero también pueden usarse como alternativa de conmutación por error, para situaciones en que la conexión de red, el DNS, la puerta de enlace, el servidor StoreFront o los Controllers de Citrix Virtual Apps and Desktops de una ubicación no respondan. Los usuarios se redirigen automáticamente a otra puerta de enlace si uno de los servicios GSLB no está disponible.
  • Los clientes externos se dirigen a la puerta de enlace más cercana en función del algoritmo de equilibrio de carga GSLB que se haya configurado, tal como el tiempo de retorno (RTT) o la proximidad estática, cuando se establecen conexiones remotas.
  • La dirección URL única para cada puerta de enlace permite a los usuarios seleccionar manualmente el centro de datos desde donde desean abrir recursos, eligiendo la URL específica de la ubicación de la puerta de enlace que quieran usar.
  • El equilibrio de carga GSLB puede omitirse cuando GSLB o la delegación de DNS no funcione según lo previsto. Los usuarios pueden seguir accediendo los recursos remotos en cualquier centro de datos usando la URL específica de su ubicación, hasta que se resuelvan los problemas de GSLB.

Caso de uso n.º 1: Receiver para Web y aplicaciones de Citrix Receiver y Citrix Workspace: GSLB y varios dispositivos Citrix Gateway

Atributos de puerta de enlace

Para utilizar GSLB con aplicaciones nativas de Citrix Receiver o Citrix Workspace, utilice Add-STFRoamingGateway (crear) o Set-STFRoamingGateway (modificar) para especificar los siguientes atributos:

-GatewayUrl: Establecido como el nombre de dominio completo compartido para todas las puertas de enlace GSLB.

-GSLBurl: Establecido como el nombre FQDN único de puerta de enlace para cada puerta de enlace.

Nota:

Puede parecer poco intuitivo, pero no afecta de ninguna manera a este caso de uso web. Garantiza que las aplicaciones nativas de Citrix Receivers o Citrix Workspace reciban el nombre de dominio completo compartido que utiliza GSLB dentro del documento de detección encontrado al acceder al dispositivo de punto final https://storefront.domain.com/citrix/<storename>/discovery. También garantiza que el archivo de aprovisionamiento (receiver.cr) exportado por el comando Exportar archivo de aprovisionamiento de StoreFront contenga el nombre de dominio completo GSLB compartido.

Ejemplo de archivos de aprovisionamiento

Ejemplo de archivo 1 con -GatewayUrl https://gslb.domain.com. Permite que las aplicaciones nativas de Citrix Receiver o Citrix Workspace utilicen GSLB para conectarse a puertas de enlace.

Permite que las aplicaciones nativas de Citrix Receiver o Citrix Workspace usen GSLB para conectarse a puertas de enlace

Ejemplo de archivo 2 con -GatewayUrl https://emeagateway.domain.com, https://usgateway.domain.com and https://apacgateway.domain.com. Permite que las aplicaciones nativas de Citrix Receiver o Citrix Workspace utilicen las URL únicas para conectarse a puertas de enlace.

Permite que las aplicaciones nativas de Citrix Receiver o Citrix Workspace utilicen las URL únicas para conectarse a puertas de enlace

Las aplicaciones nativas de Citrix Receiver y Citrix Workspace utilizan el nombre de dominio completo compartido para la autenticación.

Caso de uso n.º 2: Un único dispositivo Citrix Gateway con una URL pública o privada

El administrador usa el mismo Citrix Gateway para el acceso externo (con una URL pública) y para el acceso interno (con una URL privada).

Un único dispositivo Citrix Gateway con una URL pública o privada

En este ejemplo:

  • El administrador quiere que todo el acceso a los recursos publicados y el tráfico de HDX pasen a través de un dispositivo Citrix Gateway, incluso aunque el cliente sea interno.
  • Dicho dispositivo se encuentra en una zona DMZ.
  • Existen dos rutas de red distintas al dispositivo Citrix Gateway a través de los dos firewalls situados a cada lado de la zona DMZ.
  • El espacio de nombres externo, de cara al público, es distinto del espacio de nombres interno.

Ejemplos de cmdlets de PowerShell

Use los cmdlets de PowerShell Add-STFRoamingGateway y Set-STFRoamingGateway con el parámetro - gslburl, para establecer el atributo GslbLocation en el objeto de puerta de enlace de StoreFront. Por ejemplo:

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)

En caso de uso n.º 1, puede quitar GSLBurl de “EMEAGateway” al establecer su GslbLocation en null. El siguiente comando de PowerShell modifica el objeto de la puerta de enlace $EMEAGateway almacenada en la memoria. Set-STFRoamingGatway puede recibir $EMEAGateway para actualizar la configuración de StoreFront y quitar GSLBurl.

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

En el caso n.º 1, se devuelven las puertas de enlace siguientes al usar el comando 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)

En el caso n.º 2, se devuelven las puertas de enlace siguientes al usar el comando Get-STFRoamingGateway:

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

En el caso n.º 1, se devuelve el enrutamiento óptimo de puerta de enlace al usar el comando 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}

La URL de GSLB o la URL interna de cada puerta de enlace se almacena en el archivo web.config del servicio Roaming Service

StoreFront no muestra la URL de GSLB o la dirección URL interna para cada puerta de enlace de NetScaler Gateway dentro de la consola de administración de StoreFront, pero es posible ver la ruta GSLBLocation configurada para todas las puertas de enlace GSLB, abriendo el archivo web.config del servicio Roaming Service en C:\inetpub\wwwroot\Citrix\Roaming\web.config en el servidor StoreFront.

Caso de uso n.º 1: Puertas de enlace en el archivo web.config del servicio Roaming Service

<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>

Caso de uso n.º 2: Puertas de enlace en el archivo web.config del servicio Roaming

<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>

Información relacionada

En Developer Documentation, consulte Citrix StoreFront SDK PowerShell Modules.