Forum Discussion

Kushal_52907's avatar
Kushal_52907
Icon for Nimbostratus rankNimbostratus
Nov 20, 2008

Can you persist multiple HTTP connections on session initiation from same client (without src add persistence)?

I have an application that initiates 4 simultaneous HTTP sessions (non browser, but can receive and send cookies) to an LTM virtual server during its initialization sequence. These 4 sessions need to reside on the same back end web server. How can i use iRules to achieve this? (I cannot use Source Address Persistence as due to a network requirement for source NAT all the IPs will be arriving from the same source IP, so load balancing will not be achieved).

 

 

1 Can i do this if there is something unique in the HTTP string to each client that initiates the 4 sessions?

 

 

2 Can i do this if there is something that is unique to a cookie that is returned by the receiving web servers upon the clients initial request?

 

 

3 ?????????

 

 

If this is unclear, please let me know so i can elaborate.

 

 

/k

5 Replies

  • Have you looked into OneConnect Profile? OneConnect is about optimizing server side connections, but it does have byproduct which I have observed to allowing you to persist at the session level in the manner you are speaking

     

     

    Click here to see

     

     

    Hope this helps

     

    CB

     

  • I just realized that I only gave you a portion of my suggestion. One Connect assumed you knew which persistence you used.

     

     

    The persistence can be based on the URI in a manner of ways

     

     

    Check out the Code Share area Click here

     

    Specifically there are codes that are example of persistance

     

     

    Now I hope this helps

     

    CB

     

     

  • You could use 'persist uie $unique_string_from_request $timeout_in_seconds' to persist off of some component of the client request (Click here).

     

     

    Aaron
  • OneConnect solved my problems.

     

     

    The main issue was that the client would establish a TCP session (SYN, SYN/ACK, ACK)and keep it open using HTTP KeepAlive. Then the client would start and stop multiple HTTP sessions within that TCP connection. Without OneConnect, after the first HTTP session was complete the client would strip the BigIP persist cookie and a new cookie would not be inserted by the BigIP upon subsequent session requests.

     

     

    With OneConnect enabled, a 'set cookie' statement is insereted by the BigIP on every HTTP 200 OK response. This way, even if the application strips the cookie, it gets immediately re-inserted by the BigIP and persistence is maintained.

     

     

    Thanks for the responses!