I have guacamole 0.9.12-incubating. I have a vanilla deploy of three containers: guacamole, guacd and mysql. I am not seeing the api session timeout setting works, at the default of 60 nor at a custom 5 minutes.
I leave open a session to a remote RDP windows device. Didn't touch it for over an hour in a Chrome tab, and it still doesn't time out. (Also tried this on Safari). The remote desktop is still responsive after an hour. The connection history shows a session open for 1.2 hours in duration.
I don't see any standard HTTP traffic in the access logs after setting up the session. Here are the last log lines:
x.x.x.x - - [25/Aug/2017:16:35:04 +0000] "GET /guacamole/websocket-tunnel?token=692868B05C74ED1E81A513CD70255BD557CB65875835C9500BA197822F2B9128&GUAC_DATA_SOURCE=mysql&GUAC_ID=4&GUAC_TYPE=c&GUAC_WIDTH=1414&GUAC_HEIGHT=825&GUAC_DPI=96&GUAC_AUDIO=audio%2FL8&GUAC_AUDIO=audio%2FL16&GUAC_IMAGE=image%2Fjpeg&GUAC_IMAGE=image%2Fpng&GUAC_IMAGE=image%2Fwebp HTTP/1.1" 101 -
x.x.x.x - - [25/Aug/2017:16:35:04 +0000] "GET /guacamole/api/session/tunnels/8e3fc8f7-6c8e-4088-bd8b-cbf5ad2d7a99/activeConnection/connection/sharingProfiles?token=692868B05C74ED1E81A513CD70255BD557CB65875835C9500BA197822F2B9128 HTTP/1.1" 200 12
So the browser client apparently is keeping open the websocket to the server (guacamole client), even with no mouse or keyboard activity?
I would like no mouse activity for five minutes to close the guacamole client session (the web app session) so that it frees up the target windows devices.
I've set api-session-timeout to 5 in the guacamole.properties:
# guacamole.properties - generated Fri Aug 25 16:12:11 UTC 2017
guacd-hostname: 172.17.0.3
guacd-port: 4822
...
api-session-timeout: 5
I see this log line on startup:
16:12:16.414 [localhost-startStop-1] INFO o.a.g.rest.auth.HashTokenSessionMap - Sessions will expire after 5 minutes of inactivity.
What is this api-session-timeout setting supposed to do?