Forum Discussion
nitass
Mar 21, 2013Employee
is it something like this? i assume http path is in "/port number/something" form.
[root@ve10:Active] config b virtual bar list
virtual bar {
translate service enable
snat automap
pool foo
destination 172.28.19.252:any
ip protocol 6
rules myrule
profiles {
http {}
tcp {}
}
}
[root@ve10:Active] config b pool foo list
pool foo {
members {
200.200.200.101:any {}
200.200.200.111:any {}
}
}
[root@ve10:Active] config b rule myrule list
rule myrule {
when CLIENT_ACCEPTED {
set reselect 0
}
when LB_SELECTED {
if { $reselect } { return }
log local0. "path [HTTP::path]"
if { [scan [HTTP::path] {/%d/%*s} port] == 1 } {
log local0. "port $port"
log local0. "\[LB::server addr\] [LB::server addr]"
set reselect 1
LB::reselect
log local0. "LB::reselect"
node [LB::server addr] $port
log local0. "node [LB::server addr] $port"
}
}
when SERVER_CONNECTED {
log local0. "client [IP::client_addr]:[TCP::client_port] server [IP::remote_addr]:[TCP::remote_port]"
}
}
[root@ve10:Active] config tail -f /var/log/ltm
Mar 21 08:46:07 local/tmm info tmm[4950]: Rule myrule : path /8082/something
Mar 21 08:46:07 local/tmm info tmm[4950]: Rule myrule : port 8082
Mar 21 08:46:07 local/tmm info tmm[4950]: Rule myrule : [LB::server addr] 200.200.200.101
Mar 21 08:46:07 local/tmm info tmm[4950]: Rule myrule : LB::reselect
Mar 21 08:46:07 local/tmm info tmm[4950]: Rule myrule : node 200.200.200.101 8082
Mar 21 08:46:07 local/tmm info tmm[4950]: Rule myrule : client 172.28.19.251:36214 server 200.200.200.101:8082
Mar 21 08:46:28 local/tmm info tmm[4950]: Rule myrule : path /82/something
Mar 21 08:46:28 local/tmm info tmm[4950]: Rule myrule : port 82
Mar 21 08:46:28 local/tmm info tmm[4950]: Rule myrule : [LB::server addr] 200.200.200.111
Mar 21 08:46:28 local/tmm info tmm[4950]: Rule myrule : LB::reselect
Mar 21 08:46:28 local/tmm info tmm[4950]: Rule myrule : node 200.200.200.111 82
Mar 21 08:46:28 local/tmm info tmm[4950]: Rule myrule : client 172.28.19.251:48129 server 200.200.200.111:82