For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

nullmodem_27781's avatar
nullmodem_27781
Icon for Nimbostratus rankNimbostratus
Jul 15, 2016

Triggered HTTP request to remote server from the LTM

Hi,

 

I am new to F5. I'd appreciate if you point me to the right direction for the solution to my problem I am trying to solve. F5 version that we use is 11.5.4.

 

My scenario is following - a typical setup:

 

customer -> https_vip -> [LTM] -> https_pool

 

What I need to do is:

 

  1. Inspect the POST on LTM sent by client
  2. Look for specific value in the POST
  3. If present, send this value FROM F5 to the external host via GET
  4. If not present, send GET to external server with default value

I looked for potential solutions, and it appears there's a number of them, such as side-band, ProxyPass iRule, using alertd to trigger specific script.

 

I am looking for the best practice approach here, and it's very important to me to keep the amount of configuration on F5 to minimum to achieve this functionality. If anyone had to deal with similar requirement, can you please share your experience/thoughts/recommendations?

 

Thanks,

 

null

 

4 Replies

  • By "to external host/server", do you mean the selected load-balance target in https_pool, or a different external host? If it is the selected LB target, then it is simply a matter of changing the

    HTTP::method
    (and possibly other factors as needed). If it is a separate host, then a Sideband connection is best. If this case, you will need to manually construct the HTTP Request message. I also presume you expect an answer. How you would treat the answer depends on what you wish to do with it. For Sideband connections, always use
    catch
    blocks and check for errors. Also, always target a Virtual Server (setting the pool member to the external server) so that you have (much, much) greater control over the flow.

    • nullmodem_27781's avatar
      nullmodem_27781
      Icon for Nimbostratus rankNimbostratus

      Hi Vernon, in my case external server/host is NOT the member of the pool. I'd like to understand pros/cons of having it in the pool. The slight complication here is that external host/server is not under my control. Also, can you please clarify, if I add it to the pool, do I still need Sideband?

       

  • Vernon_97235's avatar
    Vernon_97235
    Historic F5 Account

    By "to external host/server", do you mean the selected load-balance target in https_pool, or a different external host? If it is the selected LB target, then it is simply a matter of changing the

    HTTP::method
    (and possibly other factors as needed). If it is a separate host, then a Sideband connection is best. If this case, you will need to manually construct the HTTP Request message. I also presume you expect an answer. How you would treat the answer depends on what you wish to do with it. For Sideband connections, always use
    catch
    blocks and check for errors. Also, always target a Virtual Server (setting the pool member to the external server) so that you have (much, much) greater control over the flow.

    • nullmodem_27781's avatar
      nullmodem_27781
      Icon for Nimbostratus rankNimbostratus

      Hi Vernon, in my case external server/host is NOT the member of the pool. I'd like to understand pros/cons of having it in the pool. The slight complication here is that external host/server is not under my control. Also, can you please clarify, if I add it to the pool, do I still need Sideband?