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

Reply via email to