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

Sam10's avatar
Sam10
Icon for Altostratus rankAltostratus
Jun 24, 2020

http cookie persistence

I have an application . When users makes a connection for the first time , server hands over a cookie to the user , when the user comes with the same cookie traffic should go to the same backend node which handed over the cookie.

If the cookie value is session1 , request need to go to node1, If cookie value is session2 request need to go to node2. This is the logic i am trying to work on , it would great help if i can get an irule for this .

 

when HTTP_REQUEST {

 if { [HTTP::cookie exists "SESSION1"] } {

 node 1

 } else {

 if { [HTTP::cookie exists "SESSION2"] } {

 node 2

 }

 else pool default pool

 }

}

1 Reply

  • Bellow are the 2 irules i tried an no luck ,experts any help on this .

     

     

    when HTTP_REQUEST {

     if { [HTTP::cookie exists "EO_SESSION_ID"] } {

     persist uie [HTTP::cookie "EO_SESSION_ID"] 3600

     } else {

     set jsess [findstr [HTTP::uri] "EO_SESSION_ID" 1 ";"]

     if { $jsess != "" } {

     persist uie $jsess 3600

     }

     }

    }

    when HTTP_RESPONSE {

     if { [HTTP::cookie exists "EO_SESSION_ID"] } {

     persist add uie [HTTP::cookie "EO_SESSION_ID"] 3600

     }

    }

     

     

     

    Tried even with switch statement.

     

     

    when HTTP_REQUEST {

      switch [string trimleft [HTTP::cookie EO_SESSION_ID] cookie] {

      "cookie1" {

          pool prod-pool member 192.168.1.1 5700

      }

      "cookie2" {

         pool prod-pool member 192.168.1.2 5700

      }

      default {

         pool prod-pool

      }

      }

    }

     

     

    Instead of irule can i use cookie hash persistence.