Forum Discussion

JRDIAZ758_36079's avatar
JRDIAZ758_36079
Icon for Nimbostratus rankNimbostratus
Jul 05, 2018

Forwarding request to all pool members

i have a i5800 and my DEVs are requesting me to send forward a HTTP POST to all pool members that are behind the F5. This is because users will be spread among all pool memebers and this POST will display the caller info into the user's screen. so the server the user is connected to will match that post parameter and display the info. is there a way to do this? its like a stateless forwarding but with TCP

 

3 Replies

  • Does it mean that one post from a user but two servers connection and two posts to servers? Which response is sent back to the user?

     

  • From your diagram want you need is to clone server side traffic.

    I think you have 4 options:

    1. Within an iRule you can use iRules clone to do this to a pool, pool member or in v13 you can also clone to a VLAN but no idea how this works. However, you can only clone to a single destination so if you have a pool of two servers you can see which one is selected during LB select event (or by persistence) then clone to the other server. But this will not scale.

    2. iRule using SIDEBAND which are great but can be difficult to write and very difficult to get working (from what I have been told).

    3. Look at an iRule with iRules-LX, this would be to write a simple iRule to pass the request and list of pool member IPs to a Node.js method which would send the POST request to each IP. Sounds like a lot of work but it will probably take less time than the SIDEBAND connection. Down side is you need to enable iRules-LX on your F5 devices and write iRule and js code to work together.

    4. Look at an alternative solution, may be L3 multicast solution but not sure how you would go about doing multicast just on the server side.

    Option 3 is my preferred solution but that is only because I already utilizing iRules-LX and you can make passive calls from an iRule to an iRules-LX method using ILX::notify (send data one-way to method, so is a passive call and very quick)

     

    Finally, it might be worth asking your DEVs their solution to this if they didn't have the F5 in the way, that might trigger some alternative solution ideas.

     

  • that post will contain a variable that will only match that users session. (what im told) so only the server with the user logged in will reply with the 200ok