Jump to content
Welcome to our new Citrix community!

Content Switching redirecting

Recommended Posts

Hey All, 

I'm hitting a issue that i could appreciate some help with. 


I have two servers (Server01 and Server02). 

I have created two Virtual servers (VS01 and VS02). 

VS01 service group member is Server01

VS02 service group member is Server02


I have configured Content switching to direct https://example.com/portal to VS01 and https://example.com/server to VS02.

Now the issue i'm facing is that the working path of Server01 and Server02 is /server (i.e server01.local.com/server and server02.local.com/server).

When i navigate to https://example.com/portal, the content switch maps to VS01 and the backend server performs a redirects to it's /server directory. This then appends the original request to be https://example.com/server. This would be normally be ok, but as i have a content switch policy configured to match https://example.com/server, the request is now directed to VS02. 


Any idea how to workaround this. 

The application team have told me they cant change the url paths on either the backend servers or the example.com/server request. 




Link to comment
Share on other sites

To put both apps behind a single content switch vserver, you will have to have some way to clearly distinguish one app from the other.

If the paths overlap, then policies based solely on path won't do any good as they overlap in later transactions; so hostname or a custom cookie may help.


Even though you are sorting the request destined for  /portal to /vs01, the server is still going to return paths with /server that will look like /vs02 traffic.

Once traffic goes through the cs vserver to the lb tier, you might need to use a combination of URL transform OR use rewrites at the lb vserver tier for vs01 (and vs02) to insert a cookie that indicates which app/lb vserver this is, so later policies can look at this cookie for additional sorting.

URL Transform might be needed to rewrite URLS from the vs01 traffic from the internal format that the server is generating back into the Public form that users will see (and therefore that will then be represented to the cs vserver). I would try the cookie first as it will be easier than URL Transform, but you need to identify what you want to happen when you can't tell which app is which.

If you need an example, ask.



The other thing you could do, is have users use separate FQDNs to connect (even though it resolves to a single vip/cs vserver), and sort by FQDN/host name instead of path, and the paths can overlap all day long.  http.req.header("host") or http.req.hostname


See if either option might help you.



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...