Hello Mike,

 
thanks for your reply.

 
*       The endpoint is definitely available. You are seeing a 404 because it 
is a WebSocket endpoint, not an HTTP endpoint, and Tomcat is refusing to 
continue routing the request without the correct headers.

 
Okay you are right, I’ve checked the situation from the internal network with 
direct access to the docker container running guacamole. It uses the websocket 
tunnel then…

However, I must say that the error message returned at a direct access to the 
uri (/guacamole/websocket-tunnel) is misleading. A 404 means “the resource does 
not exist or was not found” by definition. Because WebSocket connections are 
simply an upgrade of the http connect, it should instead return 400 “bad 
request” as the http endpoint (/guacamole/tunnel) indeed does!

I have actually searched in the wrong place because of this 404 return code for 
a couple of days now.

 
I’ll check what might be the problem with the ReverseProxy. As I have actually 
configured it like the doc states, I’m a bit curious what the problem could be. 
But let’s see…

 
Best regards,

Martin.

 
 
Von: Mike Jumper <[email protected]> 
Gesendet: Montag, 21. Juni 2021 18:46
An: [email protected]
Cc: [email protected]
Betreff: Re: Websocket Endpoint missing

 
On Mon, Jun 21, 2021 at 3:05 AM Martin Krellmann <[email protected] 
<mailto:[email protected]> > wrote:

Hello Guacamole community.

 
I have a strange problem regarding WebSocket Support: While the log claims it 
is loaded there is simply no “/guacamole/websocket-tunnel” endpoint available. 
I have checked this several times directly from the CLI of the docker 
container. It returns a 404.

 
The endpoint is definitely available. You are seeing a 404 because it is a 
WebSocket endpoint, not an HTTP endpoint, and Tomcat is refusing to continue 
routing the request without the correct headers.

 
You would need to use a WebSocket client to attempt to connect to the WebSocket 
tunnel endpoint.

 
Since if have installed guacamole via the Univention appcenter in the first 
place, I have updated it now to the latest docker images available. The problem 
remains.

 
Can you share what problem you're referring to?

 
However, the configuration still uses the LDAP Backend of univention. Which 
works fine for the HTTP tunnel, but as no websocket-tunnel endpoint is provided 
in Tomcat it couldn’t use it. To clarify again… This is not a reverse proxy 
issue. The endpoint is already not available in tomcat (checked from the CLI).

 
If the HTTP tunnel works fine but WebSocket fails, that definitely sounds like 
a reverse proxy issue.

 
You can confirm this further by connecting directly to Tomcat with a browser 
rather than through the reverse proxy, but really the WebSocket tunnel is there.

 
- Mike

 

Reply via email to