Jump to content
Welcome to our new Citrix community!

GSLB with Content Switching

Recommended Posts



There are a couple other topics about this but none suggest a solution or confirm it is not possible.


We use GSLB externally and internally between geographically distributed data centers.


Until now we have used only LB vservers for this purpose however we have started using CS vservers for non-GSLB services that are only server from one data center. This is primarily to save on IP addresses and also to make use of the extra policy features like rewrites / responds etc.


This prompted me to consider whether we could utilize content switching with GSLB too. I know you can bind a CS vServer to a GSLB service but the issue comes when monitoring the back-end LB vservers.


The way I understand it is that with a CS vserver you are likely to have a number of LB vservers bound and various policies directing the traffic accordingly. The issue here is that if one LB vserver goes down then the CS vserver is unaware and so GSLB will not redirect the request to the other data center. There is a "State Update" option but setting this will mark the entire CS vserver as down when only one LB vserver goes offline resulting in all services failing over to the other data center.


We wanted to use content switching so that we could have one different URL PATHS going to different LB vservers on different ports which we have got working with content switching but then wanted this globally load balanced for resilience and redundancy.


I guess the alternative it to stick with LB vservers and just have different DNS records pointing to the different vservers VIPs like http://server goes to LB VS1 (port 9001) and http://server-api goes to LB VS2 (port 9002). The downside of this is that we have to have multiple GSLB services and vservers where if this could be fronted by a CS vserver we would only need to configure the one GSLB service and vserver. We could then also content switch http://server and http://server/api to different LB servers and only need one DNS record.


Appreciate any help or advice that anyone may be able to give.








Link to comment
Share on other sites

GSLB is DNS, and cannot see anything in the HTTP header. DNS is completed before the HTTP connection is attempted.


For Content Switching, if one LB vServer is down, you can either proxy it, or redirect it.


For proxy, create a new LB vServer with services pointing to remote datacenter. Configure this new LB vServer as backup for prod LB vServer.


For redirect, edit the LB vServer, in the Protection section, there's a Redirect URL.

Link to comment
Share on other sites

Geoff I've been trying to do something similar and it does not appear to be possible, which is a major limitation for GSLB in content switched scenarios.


What I have is a single CS vServer with a bunch of non-addressable LB vServers bound, each representing different applications with different hostnames, in each datacentre.


It would be great if you could configure GSLB services and vServers for each of the applications and use the status of the non-addressable LB VS in each site - shared by MEP - to determine Site-level availability for each app.


However as things stand, you can't associate a GSLB service with a non-addressable virtual server, and you can't create multiple GSLB services with the same public IP.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

It would need a re-design of the way GSLB gets set up to do this: currently, the GSLB Service points to an "LB Server" - ie something with an actual IP address - and then the GSLB uses that IP to monitor the vserver, plus uses that IP (or the public version of it, in the GSLB service) to respond to DNS

Link to comment
Share on other sites

  • 4 years later...



This is an old question but probably my solution will help someone.

Using of GSLB between ContentSwitching VServers is possible if custom HTTP-based monitor will be assigned to both Local and Remote service, in this case not MEP will be used for getting service status but the monitor.

- Custom monitor must contain "Host: <gslb domain>\r\n" in CustomHeader field.

- ContentSwitching virtual server must have  SSL certificate, bound with SNI=No, because custom HTTP monitor doesn't send SNI information (or I failed to find how to configure it)

- Custom monitor necessary to bind to both Local and Remote gslb services, otherwise Local service will be UP always.

- Additional SNIP may be required formonitor to be able to prob Local service


Best regards,


Link to comment
Share on other sites

  • 8 months later...
On 9/22/2021 at 11:49 PM, Aleksei Kononykhin said:

Using of GSLB between ContentSwitching VServers is possible if custom HTTP-based monitor will be assigned to both Local and Remote service, in this case not MEP will be used for getting service status but the monitor.


Nice one Alexey. This is a great idea and works well, thank you for the suggestion.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...