On Thu, Sep 23, 2021 at 9:57 AM Tim Worcester <[email protected]> wrote:
> Good morning! > > I have a use case where I am running two guacamole-clients at once behind > an nginx ingress controller. Unfortunately the load balancer in front of > that ingress does not respect sticky-sessions. Because of this, if a user > goes to one tab and opens a desktop instance, then opens an incognito > window and logs into the same desktop instance...the control of the desktop > will swap back and forth from tab to tab because of the reconnect timer > every 5 seconds. > > I am using the guacamole-auth-jdbc-postgresql plugin so I dug into the > code a bit and noticed that the AbstractGuacamoleTunnelService.java only > keeps track of the activeTunnels for that instance of guacamole-client > (makes sense). > > Is there a way for me to better configure this? Or will I need to use the > decorate/redecorate options to make the activeConnections be stored in the > database that the two instances share? > It's not really a configuration issue, it's an implementation issue. The code, as written today, only stores active connections in memory - it does not keep track of them in the database, nor does it provide any way to synchronize between multiple Tomcat instances. I've started a few times to try to write some code - decorating or otherwise - to store active connections in something like redis or something similar that would be able to sync between instances, but never quite got it working. -Nick
