Forum Discussion

kookb_293307's avatar
kookb_293307
Icon for Nimbostratus rankNimbostratus
Sep 28, 2016

Live Video Streaming through F5

Hello DevCentral.

 

I am very new to F5 and I've only done simple load-balance setup. I want to set up my F5 as a man-in-the-middle video stream server. Is there a way to do this? I have tried the http::redirect and it literally redirects client's web traffic to new URL. I want the F5 to service the content. For example, when client requests https://livestream.abc.com, I want F5 to grab the live stream video from https://corestream.abc.com/Panopto/Pages/Viewer.aspx?id=a2bfgood-0028-4a4f-a5bb-cdbe006ff35f, and all traffic is passing through F5. So far, I have created VS with pool memeber, which is the streaming server and irule to rewrite header host to "corestream.abc.com/Panopto/Pages/Viewer.aspx?id=a2bfgood-0028-4a4f-a5bb-cdbe006ff35f". It is definitely not working.

 

2 Replies

  • Rhys_Peters_770's avatar
    Rhys_Peters_770
    Historic F5 Account

    Can you post the iRule and Virtual Server configuration you are using to try to achieve this?

     

  • Here is the config:

     

    ltm virtual EventLive_to_JStream { description "Eventlive to jstream redirect" destination 10.40.2.55:https ip-protocol tcp mask 255.255.255.255 pool Jstream_Live profiles { Exchange_Front_End_HTTPS_header_insert { } clientssl { context clientside } serverssl { context serverside } tcp { } } rules { jstream_redirect } source 0.0.0.0/0 vlans { VLAN_402 } vlans-enabled vs-index 50 }

     

    ltm rule jstream_redirect { when HTTP_REQUEST {

     

    HTTP::redirect https://jstream.hhmi.org/Panopto/Pages/Viewer.aspx?id=a2bfbad7-0028-4a4f-a5bb-cdbe006ff35f }

    when HTTP_REQUEST { if { [HTTP::host] equals "10.40.2.55" } { HTTP::header replace "Host" "jstream.hhmi.org/Panopto/Pages/Viewer.aspx?id=a2bfbad7-0028-4a4f-a5bb-cdbe006ff35f" } } }

     

    Notice from the iRule that I first tried URL redirect and that didn't give the result I was looking for. so I tried Header replacement, which doesn't seem to work right.

     

    Thank you very much for your time.