[
https://issues.apache.org/jira/browse/GUACAMOLE-2199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Couchman updated GUACAMOLE-2199:
-------------------------------------
Fix Version/s: (was: 1.6.1)
> Allow dynamic injection of client Base URL via HTTP Header for stateless load
> balancing
> ---------------------------------------------------------------------------------------
>
> Key: GUACAMOLE-2199
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-2199
> Project: Guacamole
> Issue Type: Improvement
> Components: guacamole-client
> Affects Versions: 1.6.0
> Environment: RHEL/OpenShift/Openstack, Fedora/OKD/Openstack,
> Kubernetes/container VirtualMachines
> Reporter: Roger Beraldi Martins
> Priority: Minor
> Labels: LoadBalancing, containerization, virtualiztion
>
> I have developed an architectural improvement for stateless load balancing
> (dynamic Base URL injection) on RHEL/OpenShift environments. I wish to open a
> JIRA ticket and submit a Pull Request to contribute this feature back
> upstream to the Apache Guacamole project.
>
> *Problem:* Currently, Guacamole relies on Sticky Sessions (Session Affinity)
> to ensure client requests route to the correct internal node. In modern
> containerized environments (Kubernetes Ingress, Zero-Trust Gateways), sticky
> sessions are not always reliable or possible across domain boundaries.
> *Proposed Solution:* Introduce a mechanism to allow an upstream proxy (Load
> Balancer/Ingress) to inform the Guacamole Client where it should connect for
> the WebSocket tunnel.
> *Implementation Details:*
> # Add a {{baseUrl}} field to {{{}APIAuthenticationResult{}}}.
> # Maintain backward compatibility for {{APIAuthenticationResult}}
> constructors.
> # Introduce a new {{guacamole.properties}} setting:
> {{{}auth-base-url-header{}}}.
> # Update {{TokenRESTService}} to inspect this header (if configured) and
> inject the URL into the authentication response.
> This shifts routing intelligence from the infrastructure layer (Sticky
> Sessions) to the application layer (Explicit URL handoff).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)