Forum Discussion

  • Vernon_97235's avatar
    Vernon_97235
    Historic 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 tcp profile but not the http profile, 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 http profile, 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_24115's avatar
      nherrera5_24115
      Icon for Nimbostratus rankNimbostratus

      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?

       

  • 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 tcp profile but not the http profile, 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 http profile, 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_24115's avatar
      nherrera5_24115
      Icon for Nimbostratus rankNimbostratus

      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?