Citrix NetScaler

Configuring Citrix ADC for basic Load Balancing

Welcome to part 4 in my series on configuring Citrix Application Delivery Controller, (formally known as NetScaler). In the previous posts we covered the following:

Part 1: Deploying Citrix ADC onto VM Workstation 15

Part 2: Configuring Subnet IP Address and licensing Citrix ADC

Part 3: Configuring StoreFront configuration and Server Group

In this post we are going to configure the Citrix ADC as a simple load balancer for internal StoreFront traffic to deliver desktops and applications

Configure a virtual server

The first step is to configure a virtual server

Go to Traffic Management –> Virtual Servers and then Add


Next we need to define a  name for our virtual server, which protocol to use, the IP address and the Port which will be used. For this test I will just be using a simple test using Port 80 instead of SSL. Configuring SSL will be configured in a later article.


Once you are happy with your configuration settings press OK and you will be asked if you want to enable the LB feature. Obviously we will be selecting Yes.


After enabling we should see that our Virtual Server has been created. It is showing as down as we do not have any services associated with it. We will cover this next section.


Configure a service

So now that we have a virtual server for the users to connect to, once they have connected to that virtual server we need to create services behind that. This will be the StoreFront servers which we have created in previous posts. When the users hit the virtual server the traffic will be sent to either of these StoreFront Servers.

Select Traffic Management –> Load Balancing –> Virtual Services and select Add. Enter the details of the servers you want to configure. In our case it will be the IP address of StoreFront1 & StoreFront2



OK so now we have a virtual server, and a few servers sitting behind that server. Next we need to bind a service to the virtual server to combine the two together.

Bind the service to the virtual server

From the menu select Service Binding and add the services you created previously


Select Bind to complete the Binding


After completing this we should see our Virtual Server as up


The final step is to remote the DNS records we had created previously and create a new DNS record so all traffic goes to the Virtual Server.

After doing this I tested the connection but received an error “Cannot complete your request”.  I tested the connection to each individual StoreFront server and it was working fine. So it had to be an issue with the config.


Eventually I stumped upon the fix which was to change the Persistent Type to Source IP.


After changing this everything started working fine


That’s it for this post. Next up I am going to have a play with deploying a NetScaler CPX instance in Docker Smile

Leave a Reply

Your email address will not be published. Required fields are marked *