This article contains information about Server Name Identification (SNI) feature of the NetScaler appliance.
The SNI feature is included starting with the NetScaler software release 9.2.
Note: The SNI feature is not supported on the back end connections. For information on how to configure Windows to accept non-SNI client connections when a forced SNI product is being used (such as ADFS) refer to How to support non-SNI capable Clients with Web Application Proxy and AD FS 2012 R2.
Starting with NetScaler software release 9.2, you can enable the SNI feature of the appliance to host multiple domains securely on a single Secure Socket Layer (SSL) virtual server IP address. The SNI feature enables the client requesting a connection to specify the server secure domain. As a result, you need not configure multiple virtual servers to host multiple domains, listening on multiple IP addresses and port numbers.
The SNI feature enables you to bind multiple certificates to a single virtual server. This is in contrast to the wildcard certificates, which refer to subdomains within a domain and not individual domains similar to the SNI feature. However, you can specify subdomains in the SNI feature too. Internally, the NetScaler appliance parses the certificates and extracts domain names. The appliance stores these domain names in a hash table.
You can also bind the default certificates to the virtual server. The default certificate is used for the client that does not specify the domain name because some web browsers do not send the domain name. In such scenarios, the appliance responds to the client with the default certificate.
The following is the command to bind an SNI certificate to a virtual server:
bind sslvserver <VServer_Name> -certkeyname <Domain_Name> -SNICert
Refer to the following sections for more information on the SNI feature of the appliance:
The following are the security highlights of the SNI feature:
When a Client Hello comes with servername extension, NetScaler will match the servername through all the SNI certificates configured (only the SNI list, not the default certificate) and returns success if a match is found. If no match is found, NetScaler returns an unrecognized name message and resets the connection.
When a Client Hello comes without any servername extension, the default certificate is returned, if one is configured. If only SNI certificates are configured with no default certificate, then the SSL handshake fails and NetScaler resets the connection.
The following is a list of web browsers compatible with the SNI feature:
The following is a list of web servers compatible with the SNI feature:
The following libraries are compatible with the SNI Feature:
Note: The Internet Information Server (IIS) is not yet supported.
SNI is supported in the back-end from NetScaler 11.1.x
To set SNI On SSL Service
set ssl service <service name> -snIEnable ENABLED commonName abc.com
To set SNI On SSL profile (bound to SSL Service)
set ssl profile <ssl profile name> -SNIEnable ENABLED -commonName abc.com
More details on the feature:
https://docs.citrix.com/en-us/netscaler/11-1/ssl/config-ssloffloading/support_for_sni_on_backend_service.html
From Receiver for Windows 4.6, you can use Receiver connection to NetScaler Gateway with Server Name Indication (SNI) configured, so that users can launch desktops and applications successfully without additional configuration. For more information refer to Citrix Blog - Citrix Receiver for Windows 4.6 is Available Now!
Receiver for Mac 12.7 and later also support NetScaler Gateway with Server Name Indication (SNI) configured so that users can launch desktops and applications successfully. Refer to the Receiver for Mac 12.7 Product Documentation to learn more.
CTX205283 - How Do I Configure SNI on NetScaler?