The option to make StoreFront (pre SF3.5) Receiver for Web the default page/document in IIS simply does not exist within the StoreFront console like it used to back in legacy Web Interface. What I mean is that if I was to browse to my StoreFront server via https://storefront I’d get the iisstart.htm IIS 8.5 page.
To access Receiver for Web I’d need to type https://storefront/citrix/citrixweb. It would be better if users could just browse to https://storefront
What do we do to make that happen? A simple script placed within the wwwroot directory of your StoreFront server is one way.
Firstly, open a text editor, insert the below text, then save the file as filenameofyourchoice.html.
<script type=”text/javascript”>
<!–
windows.location=”https://storefront/citrix/citrixweb”;
// –>
</script>
Ensure you include your own Receiver for Web URL after windows.location=. Also, if you instead use HTTP for accessing Receiver for Web then you should insert windows.location=”/citrix/citrixweb”; replacing /citrix/citrixweb with your own Receiver for Web path.
As a result the script should look like this. Next save the file on each StoreFront server under C:\inetpub\wwwroot.
Open IIS on your StoreFront server(s), click on your Default Web Site, click Default Document and add the new script filename to the list, and move it to the top of the list.
Finally run an IISRESET via command prompt. The next time you browse to https://storefront you will be directed to the full Receiver for Web path.
You can use this same script for any other website if you change the URL within the script. You can also use the HTTP Redirect IIS feature for redirecting requests. It is good to know the few methods around. Try this out for both Receiver for Web and Director.
Warning: Use the following optimisations at your own risk. Test everything in a pre-production environment always before changing anything in production.
Enable Pooled Sockets
Via the web.config file stored on StoreFront servers you can enable Pooled Sockets which gives StoreFront the ability to maintain a pool of sockets instead of creating a new one each time a new user connects. This option was present in the older Citrix Web Interface. Enabling Pooled Sockets gives better performance especially when you are using SSL.
To activate Pooled Sockets, change the pooledSockets=”off” entry in web.config to pooledSockets=”on”.
Application Pool Initialisation
Since the beginning of IIS the default behaviour is to initialise an Application Pool that runs a website when the first user connects. This means that StoreFront rebootswould trigger a new initialisation of the Application Pool. This initialisation behaviour could slow the exeprience down for your users at times. If you happen to restart your StoreFront servers regularly then you could consider activating this feature. Server 2012 and above includes the ability to always run the Application Pool with a setting called Start Mode – OnDemad found in the Advanced Settings of the Application Pool itself.
For 2008 R2 servers running StoreFront you have to download an IIS extension and apply some applicationHost.config modifications. More information can be found on the web.
WebSockets
WebSockets is a technology that allows for full-duplex communication using a single TCP socket. This means that multiple HTTP or HTTPS connections between StoreFront and your client web browser are no longer required when WebSockts is in use. This reduced overhead and bandwidth usage. By default WebSockets is disabled but can be enabled and configured via Citrix Policies are shown below.
- WebSockets connections – Used to enable/disable WebSockets
- WebSockets port number – Used to configure the incoming connections port number which is 8008 by default
- WebSockets trusted origin server list – Used to define the list of trusted servers. Only connections that originate from one of these addresses are accepted by the server. The default is all servers allowed