Bug ID 582769: WebSockets frames are not forwarded with Websocket profile and ASM enabled on virtual

Last Modified: Jul 13, 2024

Affected Product(s):
BIG-IP ASM(all modules)

Known Affected Versions:
12.1.0, 12.1.0 HF1, 12.1.0 HF2, 12.1.1, 12.1.1 HF1, 12.1.1 HF2, 12.1.2

Fixed In:
13.0.0, 12.1.2 HF1

Opened: Mar 23, 2016

Severity: 3-Major

Related Article: K99405272

Symptoms

WebSockets frames are not forwarded with WebSocket profile and ASM enabled on virtual.

Impact

WebSockets frames are not forwarded to the pool member

Conditions

Virtual has WebSocket profile attached to it. ASM is enabled on the virtual. WebSockets server replies with a "Connection: upgrade" header. The issue is also seen if multiple header values are present in Connection header.

Workaround

Use a simple iRule similar to the following: when HTTP_RESPONSE { if { [HTTP::status] == 101 } { HTTP::header replace "Connection" "Upgrade" } }

Fix Information

The system now accepts "Connection: UPGRADE" or "Connection: upgrade" as valid header for WebSocket handshake, and supports a comma-separated list of values for the Connection response header.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips