F5 irule points to websockets server, but no response back
Currently, we run 32bit 10.2.3 F5.
We are trying to use websockets via an irule.
For example, the user comes in via the https F5 virtual server, and is directed via an irule to the websockets pool (in this case EXPQA_Pool_11_12)
irule:
when HTTP_REQUEST {
HTTP::header insert "X_CLIENT_IP" [IP::client_addr]
HTTP::header insert "X-Forwarded-For" [IP::client_addr]
if { [string tolower [HTTP::uri]] starts_with "/ws" } {
pool EXPQA_Pool_11_12
return
} else {
pool EXPQA_Pool
return
}
}
On our test site, we are able to initially connect to the websocket server:
-- 2013-07-30T19:07:57.987Z: Connection is opened...
However, after two minutes, the response never makes it back from the websocket server:
TX 2013-07-30T19:07:58.815Z: Device info for serial 1
-- 2013-07-30T19:09:57.978Z: Connection is closed...
If we go around the F5, and connect directly to the websocket server, it works fine instantly:
-- 2013-07-30T19:21:48.092Z: Connection is opened...
TX 2013-07-30T19:21:49.532Z: Device info for serial 1
RX 2013-07-30T19:21:50.094Z: {"status":"Device found."}
-- 2013-07-30T19:21:50.094Z: Connection is closed...
Any idea why going through the F5 for our websockets conversation would experience that issue?
thanks much!
Keith Varga