You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by johnston <jo...@pythian.com> on 2017/11/10 13:26:05 UTC
WebSocket: Invalid frame header
I'm trying to embed Guacamole into my webapp. My backend is Node.js and I
don't want to write my own backend tunnel, so I'm trying to proxy requests
from my Node.js server to the guacamole Apache server.
my client (guacamole-common-js loaded in Chrome) => my server (Node.js) =>
guacamole (docker image) => guacd (docker image)
So my server is making a request to
http://localhost:8080/guacamole/api/tokens
and then connecting to
ws://localhost:8080/guacamole/websocket-tunnel?token=my-tokenGUAC_DATA_SOURCE=mysql&...
guacamole accepts the connection:
13:14:05.472 [http-nio-8080-exec-4] INFO o.a.g.tunnel.TunnelRequestService
- User "my-user" connected to connection "1".
13:14:05.482 [http-nio-8080-exec-4] INFO o.a.g.tunnel.TunnelRequestService
- User "my-user" disconnected from connection "1".
and guacd establishes the ssh connection
guacd[35]: INFO: SSH connection successful.
guacd[35]: INFO: User "@my-id" disconnected (0 users remain)
but as you can see, the connection is immediately closed by the client.
guacamole-common-js is closing the connection immediately and throwing this
error:
WebSocket connection to 'ws://my-computer:8080/my-path' failed: Invalid
frame header
The headers returned by the upgrade request look good:
Connection:Upgrade
Sec-WebSocket-Accept:/my-code
Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits=15
Sec-WebSocket-Protocol:guacamole
Upgrade:websocket
There isn't much info in the Chrome debugger WS tab. There is only one
frame:
(Opcode -1) 20 08:14:05.580
Does anyone know why the handshake may fail when proxied?
I'm using https://github.com/nodejitsu/node-http-proxy to proxy the
websocket. From the unit tests, it appears to support large frames and
multiple frames. It closes the socket before any data is sent by guacd.
-Andrew Johnston
--
Sent from: http://apache-guacamole-incubating-users.2363388.n4.nabble.com/
Re: WebSocket: Invalid frame header
Posted by johnston <jo...@pythian.com>.
Sorry all, this turned out to be a problem in my server not related to guac.
I had two handlers on the upgrade event by accident and one was causing the
connection to be killed.
--
Sent from: http://apache-guacamole-incubating-users.2363388.n4.nabble.com/