Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have been scouring the internet for information regarding setting up ZXTM to properly load balance web socket connections. ( and also generic information for this task would be handy )

It seems that since it is a layer 7 load balancer, it gets confused when clients send the Upgrade header required to establish a web socket connection. I imagine I may be able to correct this using Traffic Script rules, but am not sure where to start.

The only information I can find is how to accomplish this with nginx using a special tcp proxy module, and also there is some information on how to accomplish this with HA Proxy. Neither of these are an option at this time, unfortunately.

If anyone has any information, generic or specific on how to setup a layer 7 load balancer to correctly handle web sockets, that would be grand.

share|improve this question
    
Have you tried ZXTM support channels? –  Tom O'Connor Dec 30 '11 at 11:44

1 Answer 1

up vote 2 down vote accepted

After a long time searching, I have made progress on this issue. (unfortunately riverbed support was not very helpful, although they did try and be helpful).

The issue is that when ZXTM is set in 'HTTP' mode for a virtual server, it does not respond to the upgrade header at all.

To get web sockets to work, you must change the virtual server's mode to 'Generic Streaming'.

Then the load balancer will treat it more like a normal tcp connection, and everything works nicely.

There is one big limitation of this, and that is if your using traffic script rules, you will no longer be able to use any that start with http. So for example http.setHeader, or anything of this nature will no longer work, as the load balancer doesn't treat the underlying connections as normal http anymore.

Hope this helps someone! Cheers

share|improve this answer
    
Since http rules no longer work, do you know if there's a way to forward the client IP address? –  dave Jul 9 '12 at 3:45
    
I didn't investigate it too deeply after this, but there was no obvious way that I could see to like add an Http header. –  spotman Jul 10 '12 at 2:37

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.