Hello again. So I have an SSH connection. I can connect through Guacamole, but it's really slow. Some research says that this is because I'm not using websockets, and lo and behold, I find this in the logs:
Oct 18 10:36:11 <Computer> server: 10:36:11.625 [http-bio-8080-exec-3] DEBUG o.a.g.net.InetGuacamoleSocket - Connecting to guacd at localhost:4822. Oct 18 10:36:11 <Computer> guacd[14498]: Creating new client for protocol "ssh" Oct 18 10:36:11 <Computer> guacd[14498]: Connection ID is "$8f1e574b-9752-4b37-83af-2ac86d78b2c6" Oct 18 10:36:11 <Computer> guacd[14507]: User "@cfecdb6e-fa9b-47b7-9d26-a0d7193fc836" joined connection "$8f1e574b-9752-4b37-83af-2ac86d78b2c6" (1 users now present) Oct 18 10:36:11 <Computer> server: 10:36:11.671 [http-bio-8080-exec-3] INFO o.a.g.tunnel.TunnelRequestService - User "<UserId>" connected to connection "<Computer>". Oct 18 10:36:11 <Computer> server: 10:36:11.685 [http-bio-8080-exec-3] INFO o.a.g.tunnel.TunnelRequestService - User "<UserId>" disconnected from connection "<Computer>". Duration: 14 milliseconds Oct 18 10:36:11 <Computer> server: 10:36:11.685 [http-bio-8080-exec-3] DEBUG o.a.g.net.InetGuacamoleSocket - Closing socket to guacd. Oct 18 10:36:11 <Computer> server: 10:36:11.686 [Thread-18] DEBUG o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Connection to guacd closed. Oct 18 10:36:11 <Computer> server: org.apache.guacamole.GuacamoleConnectionClosedException: Connection to guacd is closed. Oct 18 10:36:11 <Computer> server: at org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:183) ~[guacamole-common-0.9.13-incubating.jar:na] Oct 18 10:36:11 <Computer> server: at org.apache.guacamole.io.ReaderGuacamoleReader.readInstruction(ReaderGuacamoleReader.java:195) ~[guacamole-common-0.9.13-incubating.jar:na] Oct 18 10:36:11 <Computer> server: at org.apache.guacamole.protocol.FilteredGuacamoleReader.readInstruction(FilteredGuacamoleReader.java:81) ~[guacamole-common-0.9.13-incubating.jar:na] Oct 18 10:36:11 <Computer> server: at org.apache.guacamole.protocol.FilteredGuacamoleReader.readInstruction(FilteredGuacamoleReader.java:81) ~[guacamole-common-0.9.13-incubating.jar:na] Oct 18 10:36:11 <Computer> server: at org.apache.guacamole.protocol.FilteredGuacamoleReader.read(FilteredGuacamoleReader.java:64) ~[guacamole-common-0.9.13-incubating.jar:na] Oct 18 10:36:11 <Computer> server: at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$2.run(GuacamoleWebSocketTunnelEndpoint.java:160) ~[guacamole-common-0.9.13-incubating.jar:na] Oct 18 10:36:11 <Computer> server: Caused by: java.net.SocketException: Socket closed Oct 18 10:36:11 <Computer> server: at java.net.SocketInputStream.read(SocketInputStream.java:204) ~[na:1.8.0_141] Oct 18 10:36:11 <Computer> server: at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_141] Oct 18 10:36:11 <Computer> server: at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:1.8.0_141] Oct 18 10:36:11 <Computer> server: at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:1.8.0_141] Oct 18 10:36:11 <Computer> server: at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:1.8.0_141] Oct 18 10:36:11 <Computer> server: at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[na:1.8.0_141] Oct 18 10:36:11 <Computer> server: at org.apache.guacamole.io.ReaderGuacamoleReader.read(ReaderGuacamoleReader.java:169) ~[guacamole-common-0.9.13-incubating.jar:na] Oct 18 10:36:11 <Computer> server: ... 5 common frames omitted Oct 18 10:36:11 <Computer> server: 10:36:11.789 [http-bio-8080-exec-9] DEBUG o.a.g.net.InetGuacamoleSocket - Connecting to guacd at localhost:4822. Oct 18 10:36:11 <Computer> guacd[14498]: Creating new client for protocol "ssh" Oct 18 10:36:11 <Computer> guacd[14498]: Connection ID is "$34b0c04f-efa3-4268-b22e-3f580ab6dbeb" Oct 18 10:36:11 <Computer> guacd[14518]: User "@d707daa9-09dc-481b-9704-9ee7e1fa616c" joined connection "$34b0c04f-efa3-4268-b22e-3f580ab6dbeb" (1 users now present) Oct 18 10:36:11 <Computer> server: 10:36:11.834 [http-bio-8080-exec-9] INFO o.a.g.tunnel.TunnelRequestService - User "<UserId>" connected to connection "<Computer>". Oct 18 10:36:11 <Computer> server: 10:36:11.834 [http-bio-8080-exec-9] INFO o.a.g.t.h.RestrictedGuacamoleHTTPTunnelServlet - Using HTTP tunnel (not WebSocket). Performance may be sub-optimal. Oct 18 10:36:11 <Computer> server: 10:36:11.834 [http-bio-8080-exec-9] DEBUG o.a.g.s.GuacamoleHTTPTunnelServlet - Registered tunnel "e960de72-4910-45c8-ae64-2d0afed11351". Now, I've verified the following things: 1. I am connecting directly through Tomcat on port 8080. There is no Apache or nginx reverse proxy. 2. I can go to websocket test sites (like www.websocket.org/echo.html) which verify that a) my browser supports it (Chrome), b) that it works. 3. Copying the HTML from www.websocket.org/echo.html and putting it on the Guacamole server, it also confirms that websockets work. So, unless I misunderstand something, it does not seem to be a reverse proxy issue, a firewall issue, or a "client doesn't support websockets" issue. My question is, is there any way to determine why there is the initial connect/disconnect of a connection that lasts 14ms, or why there is an exception being thrown as if this disconnect is unexpected? Is there something I can do to increase the log level, or test what might be happening? Thanks in advance. -- Sent from: http://apache-guacamole-incubating-users.2363388.n4.nabble.com/
