Forum Discussion
Absarkhan_15403
Aug 04, 2014Nimbostratus
Triggering an action based on TCP Connections
Is it possible to trigger an action on the base of how many tcp connection a specific VIP has under a http request? If yes how to use the variable in order to define it?
Many Thanks in advance ...
- Aug 04, 2014
Can the sessions be replaced with connectionswith the way you are prescribing?
if you want to track tcp connection, you may increase the counter in CLIENT_ACCEPTED and decrease it in CLIENT_CLOSED.
Absarkhan_15403
Aug 04, 2014Nimbostratus
when HTTP_REQUEST priority 1 {
set static::maxActiveClients "[class search -all -value datagroup_selfridges_waitingroom starts_with "max_active_clients"]"
set subtableName "sessionLimit"
set sessionCookieName "[class search -all -value datagroup_selfridges_waitingroom starts_with "session_cookie_prefix"]"
set holdingPage "[class search -all -value datagroup_selfridges_waitingroom starts_with "holding_page_url"]"
set static::sessionTimeout "[class search -all -value datagroup_selfridges_waitingroom starts_with "session_timeout"]"
set need_cookie 0
if {[HTTP::cookie exists $sessionCookieName]} {
set client_id [HTTP::cookie $sessionCookieName]
set sessiondata [table lookup -subtable $subtableName $client_id]
if { $sessiondata != "" } {
log local0. "Valid session $client_id - continuing"
return
}
}
log local0. "No session. Checking for free slot (Max $static::maxActiveClients)"
set sessionCount [table keys -subtable $subtableName -count]
log local0. "No session. Checking for free slot (Current $sessionCount)"
if {$sessionCount < $static::maxActiveClients} {
set need_cookie 1
set client_id [format "%08d" [expr { int(1000000000 * rand()) }]]
set sessionValue [IP::client_addr]
table add -subtable $subtableName $client_id $sessionValue $static::sessionTimeout
log local0. "New Session ($client_id) added value $sessionValue Timeout $static::sessionTimeout"
} else {
HTTP::redirect $holdingPage
}
}
when HTTP_RESPONSE priority 1 {
if {$need_cookie == 1} {
HTTP::cookie insert name $sessionCookieName value $client_id path "/"
}
}
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects