Product Documentation

Configuring Session Policies and Profiles for App Controller and StoreFront

Feb 24, 2014

To allow connections through NetScaler Gateway from the different versions of Receiver and by using Worx Home, you need to create session policies and profiles for App Controller and StoreFront with specific rules to enable the connections to work. You can create separate session policies and profiles for the following:

  • NetScaler Gateway Plug-in
  • Receiver for Android
  • Receiver for BlackBerry 10 1.0
  • Receiver for BlackBerry 2.2
  • Receiver for Chromebook
  • Receiver for HTML5
  • Receiver for iOS
  • Receiver for Linux
  • Receiver for Mac
  • Receiver for Playbook 1.0
  • Receiver for Windows 8/RT
  • Receiver for Web
  • Worx Home

When you configure the expression for Worx Home, Receiver for Windows, Receiver for Mac, or Receiver for Web, the User-Agent header always starts with CitrixReceiver. More recent versions of Receiver that recognize the native protocols in App Controller also include a header called X-Citrix-Gateway.

When you create a rule, you can use AND (&&) or OR (||) to specify the condition for two configured expressions.

Important: Citrix recommends running the Quick Configuration wizard to configure all of the required policies for connections to App Controller and StoreFront from NetScaler Gateway. The following sections provide information about configuring the policies manually.

Configuring Virtual Servers

If App Controller is part of your deployment, you need to create two virtual servers:

  • The first virtual server is for users who connect by using Worx Home. After user authentication occurs, this virtual server communicates directly with App Controller.
  • The second virtual server is users who connect by using Receiver for Web, Citrix Receiver for Windows, or Citrix Receiver for Mac. Receiver communicates directly with StoreFront, instead of the App Controller, after NetScaler Gateway authenticates users.

On each NetScaler Gateway virtual server, you must install a server certificate that has a unique fully qualified domain name.

Configuring Session Policies

You configure session policies for App Controller and StoreFront deployments. You can use the same policy expressions for both deployments, however the session profile settings are slightly different. The session policy expressions you configure depend on the version of Receiver and the NetScaler Gateway Plug-in you are using.

Some versions of Receiver do not fully support the StoreFront services protocols that allow direct connections through NetScaler Gateway to stores in StoreFront. The earlier Receiver versions that do not support these protocols include:

  • Receiver for Windows 3.0 and earlier versions
  • Receiver for Mac 11.4 and earlier versions
  • Receiver for Android 3.0 and earlier versions
  • Receiver for iOS 5.5 and earlier version

The following table shows the policy expression to configure based on the version of Receiver and the NetScaler Gateway Plug-in you are using :

Receiver version does not support StoreFront services protocols

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER X-Citrix-Gateway NOTEXISTS

Worx Home or Receiver version supports StoreFront services protocols

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER X-Citrix-Gateway EXISTS

NetScaler Gateway Plug-in for Windows

NetScaler Gateway Plug-in for Mac

REQ.HTTP.HEADER User-Agent NOTCONTAINS CitrixReceiver && REQ.HTTP.HEADER Referer NOTEXISTS

Receiver for Web

REQ.HTTP.HEADER User-Agent NOTCONTAINS CitrixReceiver && REQ.HTTP.HEADER Referer EXISTS

Receiver for Windows 8/RT

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS WindowsRT

When you configure the policy expression for Receiver versions, you can distinguish between the Receiver type in the policy expression.

Receiver for Android

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS Android/

Receiver for BlackBerry 2.2

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS Blackberry/

Receiver for Chromebook

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS Chromebook/

Receiver for HTML5

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS HTML5/

Receiver for iOS

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS iOS/

Receiver for Linux

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS Linux/

Receiver for Mac

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS MacOSX/

Receiver for Playbook 1.0

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS Playbook/

Receiver for Windows 8/RT. 1.3

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS Win8/

Receiver for Windows

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS Windows/

Receiver for Windows Phone 8

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS WindowsPhone

Worx Home

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER User-Agent CONTAINS Windows/

If you configure a session policy that supports StoreFront services protocols and Receiver for iOS, the expression might look like the following:

REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver && REQ.HTTP.HEADER X-Citrix-Gateway EXISTS && REQ.HTTP.HEADER User-Agent CONTAINS iOS/

To configure expressions in session policies

When you configure the expression for a session policy, use the following guidelines. You can use this procedure for App Controller and StoreFront deployments.

  1. In the configuration utility, on the Configuration tab, in the navigation pane, expand NetScaler Gateway > Policies and then click Session.
  2. In the details pane, click Add.
    Note: To modify a session policy, in the details pane, select the policy and then click Open.
  3. In the Create NetScaler Gateway Session Policy dialog box, select Advanced Free-Form and then click Add.
  4. In the Add Expression dialog box, use the following parameters as a guideline for the expression:
    1. In Expression Type, select General.
    2. In Flow Type, select REQ.
    3. In Protocol, select HTTP.
    4. In Qualifier, select Header.
    5. In Operator, select CONTAINS, NOTCONTAINS, EXISTS, or NOTEXISTS depending on the expression.
    6. In Value, type the parameter, such as CitrixReceiver.
    7. In Header Name, type User-Agent and then click OK.
  5. After you save the first expression, click And in the Create NetScaler Gateway Session Policy dialog box to add && to the expression and then click Add.
  6. Repeat Step 2 to configure the second rule.
  7. When you finish adding the rules, click Create and then click Close.

Configuring Session Profiles

When you configure session profiles for use with a session policy, you need to configure parameters that are specific for the type of connection the profile supports.

If the StoreFront IP address is a public IP address and if you disable split tunneling in the session profile, SSO functionality is internally disabled on NetScaler Gateway. Users receive an access denied error message when they attempt to log on to StoreFront. You must enable split tunneling to allow SSO from a public IP address.

When you finish configuring the policy and profile, you then bind the session policy to the virtual server. You also need to assign a priority number for each session policy.

The session profiles you configure have different settings for App Controller and StoreFront. For more information, see the topics for App Controller and StoreFront later in this section.