Hi,

relayd(8) with "http websockets" does not deliver frames to browsers (tested
with Gnome Web + Chrome) for Vaultwarden running on another laptop with
relayd as a tls accelerator.

The console shows the websocket closed for server inactivity. This works 
through a plain tcp relay. This looks like the same symptom as this 2024 
report, 
which I couldn't find a resolution for:
https://marc.info/?l=openbsd-bugs&m=171265034225740&w=2 (my configuration used
nearly all the same parameters):

Running relayd -vd does not seem to show any more information.

Handshake details from the console:
- Request: Upgrade: websocket, Connection: Upgrade, Sec-WebSocket-Extensions:
permessage-deflate; client_max_window_bits
- Response: 101 Switching Protocols, Content-Length: 0, Upgrade: websocket,
Server: Rocket

tcpdump shows traffic flowing in both directions throughout, removing the
Sec-WebSocket-Extensions request header or removing the response header rule
(HSTS) does not change anything.

The reply on the 2024 thread suggested stricter header sanity
checks might be responsible. If there is nothing to do, that is fine, I just
wanted to verify.

For now, if I need the full functionalities of the websocket, I've set up an
alias on the interface and use a plain tcp relay for the Vaultwarden server.

Thanks,

Thomas

Reply via email to