TsgcWebSocketLoadBalancerServer › Gebeurtenissen › OnBeforeSendServerBinding
Wordt geactiveerd voordat de load balancer een backend-serverbinding (host, poort, protocol) stuurt naar een nieuw geaccepteerde downstream-client.
property OnBeforeSendServerBinding: TsgcWSLBBeforeSendServerHostEvent;
// TsgcWSLBBeforeSendServerHostEvent = procedure(Connection: TsgcWSConnection; var Binding: TsgcWSLoadBalancerServerBinding) of object
—
OnBeforeSendServerBinding wordt gegenereerd nadat de load balancer een backendserver heeft geselecteerd voor een inkomende clientverbinding en voordat de geselecteerde bindings-URL naar de client wordt geretourneerd. De parameter Binding geeft de host, poort en het protocol bloot dat naar de client wordt teruggestuurd; pas dit aan om het openbare adres te overschrijven (bijvoorbeeld om de host te herschrijven wanneer de client de backend via een reverse proxy of een ander openbaar IP-adres dan het door de backend zelf geregistreerde adres moet bereiken). Typische toepassingen zijn het aanpassen van de binding voor specifieke client-IP's, het injecteren van een sticky-sessiedoel, of het forceren van een bepaald protocol (ws vs wss) op basis van het verzoek. Laat de Binding ongewijzigd om de waarde te behouden die is berekend door het geconfigureerde LoadBalancing-algoritme.
procedure OnBeforeSendServerBinding(Connection: TsgcWSConnection;
var Binding: TsgcWSLoadBalancerServerBinding);
begin
// force secure WebSocket scheme when the client connected over TLS
if Connection.IsSSL then
Binding.Protocol := 'wss';
end;