v147 · Security · WebSockets · LNA

WebSocket LNA Upgrade Flow

Chrome 147 extends Local Network Access restrictions to WebSocket connections. A public page attempting to open a WebSocket to a private IP must first pass a preflight check. This demo visualises the full HTTP upgrade handshake with and without the required header.

connection simulator

Enter a WebSocket target URL to see whether LNA restrictions would apply.

server response headers required

# Chrome 147+: WebSocket upgrade preflight (OPTIONS)
GET /socket HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Access-Control-Request-Private-Network: true

# Server must respond:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Access-Control-Allow-Private-Network: true  ← required
Sec-WebSocket-Accept: [hash]

references

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗