Forum Discussion
What is Websocket
Dear Experts,
Recently got a requirement from my client to enable Websocket on few of the VIP.
Can someone help me to understand the concept of Websocket & how it works in loadbalancer.
- Vernon_97235Historic F5 Account
I believe that Wikipedia provides a very nice explanation:
https://en.wikipedia.org/wiki/WebSocket
Just as it says, WebSocket is a mechanism whereby a user-agent (typically a browser) uses a raw TCP data channel for communication with the server, rather than encapsulating the data in HTTP messages (though the channel is initiated via an HTTP Request and established after an appropriate HTTP Response).
The BIG-IP supports WebSocket traffic:
https://support.f5.com/kb/en-us/solutions/public/14000/700/sol14754.html
Indeed, even though the initial handshake is HTTP and subsequent data are not, if the Virtual Server has the
tcpprofile but not thehttpprofile, the traffic will work as expected in any version of BIG-IP (assuming you expect that the traffic is all handled as a single, load-balanced TCP flow).If you want to use the
httpprofile, that'll work fine starting with 11.4.0. Before that, you need to employ an iRule:https://support.f5.com/kb/en-us/solutions/public/14000/800/sol14814.html
- nherrera5_24115Nimbostratus
In reading the articles, am I right in understanding that if you already have a TCP and HTTP profile in code 11.5.3 HF2 that a websocket connection would already work? And if not then I would need to implement an iRule that disables http if the Upgrade header is present?
- VernonWellsEmployee
I believe that Wikipedia provides a very nice explanation:
https://en.wikipedia.org/wiki/WebSocket
Just as it says, WebSocket is a mechanism whereby a user-agent (typically a browser) uses a raw TCP data channel for communication with the server, rather than encapsulating the data in HTTP messages (though the channel is initiated via an HTTP Request and established after an appropriate HTTP Response).
The BIG-IP supports WebSocket traffic:
https://support.f5.com/kb/en-us/solutions/public/14000/700/sol14754.html
Indeed, even though the initial handshake is HTTP and subsequent data are not, if the Virtual Server has the
tcpprofile but not thehttpprofile, the traffic will work as expected in any version of BIG-IP (assuming you expect that the traffic is all handled as a single, load-balanced TCP flow).If you want to use the
httpprofile, that'll work fine starting with 11.4.0. Before that, you need to employ an iRule:https://support.f5.com/kb/en-us/solutions/public/14000/800/sol14814.html
- nherrera5_24115Nimbostratus
In reading the articles, am I right in understanding that if you already have a TCP and HTTP profile in code 11.5.3 HF2 that a websocket connection would already work? And if not then I would need to implement an iRule that disables http if the Upgrade header is present?
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com