How to Configure Global Server Load Balancing High Availability Setup with a Single Domain Name Without Using HTTP Redirects or Domain Prefixes

How to Configure Global Server Load Balancing High Availability Setup with a Single Domain Name Without Using HTTP Redirects or Domain Prefixes

book

Article ID: CTX122884

calendar_today

Updated On:

Description

At times, you might configure a Global Server Load Balancing setup in which the services among various sites use the same domain name, such as example.com. This requirement is for the following factors:

  • The restricted common names in the Secure Socket Layer (SSL) certificate.

  • The applications might use absolute links.

  • Some HTTP clients connecting to the site are non-browser scripts that cannot follow redirects.

During the normal operations, a Global Server Load Balancing client performs a DNS lookup for the host, which resolves to one of the geographic sites based on existing load balancing setup of the Global Server Load Balancing. If the client should begin the communication with one site, it might be possible that a new DNS lookup directs the remainder of the communications to another site. Additionally, a failure might result in the application servers on one site to become unavailable and require directing the user to other sites.

To prevent such issues, you can use the site persistence of the Global Server Load Balancing feature, which sends the client a Global Server Load Balancing site-cookie. When the NetScaler appliance detects a client connection which uses the incorrect site-cookie, the appliance can redirect the client to the appropriate site either by using an HTTP redirect or by a connection proxy. However, to preserve the hostname, an HTTP redirect is not an option.

In the connection proxy mechanism, the NetScaler appliance proxies the connection to the remote site and to the Global Server Load Balancing service corresponding to the site-cookie in the client request. In this method, the client request is not redirected to another host name or IP address, and the client is not notified that the connection has been rerouted.

However, connection proxy is not performed if the status of the local services bound to the local Load Balancing virtual server is marked as DOWN for the failure of monitors or services being administratively disabled. In such a case, the requests made to the Load Balancing virtual server with a remote site-cookie or no site-cookie responds with a 302 HTTP redirect.

You can configure Global Server Load Balancing high availability setup with a single domain name. This can be done without using HTTP redirects or domain prefixes using the connection proxy Global Server Load Balancing persistence method and domain-based services with a backup virtual server. This proxies the connection to the remote site but triggers the Global Server Load Balancing responses to no longer deliver the local Load Balancing  virtual server address because the status of the virtual server is also considered as DOWN.


Instructions

To configure Global Server Load Balancing high availability setup with a single domain name without using HTTP redirects or domain prefixes, complete the following procedure:

  1. Configure the Global Server Load Balancing setup with connection proxy site persistence.

  2. Issue the following command to add the IP address for the remote Global Server Load Balancing service as an address record:
    add dns addRec remote1.gslb.net <IP_Address>

  3. Issue the following command to create a local server using the domain name instead of an IP address:
    add server remote-svr remote1.example.com

  4. Issue the following command to create a local service using the local server you created:
    add service remote-svc remote-svr HTTP 80

    This enables the setup to avoid conflicts with the Global Server Load Balancing services using the same IP address.

  5. Issue the following command to add a disaster recovery type of Load Balancing server, which is a backup virtual server for an existing Load Balancing virtual server:
    add lb vserver Remote_DR_LBV HTTP 0.0.0.0 0 –timeout 0 –cltTimeout 180

    This virtual server is used only in case of a disaster recovery. Therefore, it is not necessary to make it a network virtual server.

  6. Issue the following command to bind the service you created to the disaster recovery virtual server:
    bind lb vserver Remote_DR_LBV remote-svc

  7. Issue the following command to set the disaster recovery virtual server as a backup virtual server for the existing Load Balancing virtual server:
    set vserver Local_HTTP_LBV -backupVServer Remote_DR_LBV

Issue/Introduction

This article contains information about configuring Global Server Load Balancing high availability setup with a single domain name without using HTTP redirects or domain prefixes.

Additional Information

Citrix Documentation - How GSLB Works

Citrix Documentation - Configuring Global Server Load Balancing (GSLB)