Forum Discussion
Kevin_Stewart
Apr 23, 2013Employee
If you JUST want to match the port number, then you can do that using the TCP::local_port command:
when HTTP_REQUEST {
switch [TCP::local_port] {
"8088" { pool Stagin_Pool }
"8089" { pool Management_Pool }
"8090" { pool Development_Pool }
"8091" { pool Test_Lab_Pool }
default { pool Production_Pool }
}
}
If you need to match the whole request (host, port, and uri) then you'd need something like this:
"[string tolower [HTTP::host]]:[TCP::local_port][string tolower [HTTP::uri]]"
This won't capture the protocol specifier (ex. "http://"), so you'll need to remove it from the evaluation. Considering that all of the hosts are the same, you can probably skip the [HTTP::host] evaluation as well. Also, if the port and URI are specific to a service (ex. 8088 and /tuesday), then you might also want to consider just evaluating one or the other.