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

Last Modified: Oct 01, 2018

Bug Tracker

Affected Product:  See more info
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 AskF5 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