TsgcWebSocketLoadBalancerServerEreignisse › OnBeforeSendServerBinding

OnBeforeSendServerBinding Ereignis

Wird ausgelöst, bevor der Load Balancer eine Backend-Server-Bindung (Host, Port, Protokoll) an einen neu akzeptierten Downstream-Client sendet.

Syntax

property OnBeforeSendServerBinding: TsgcWSLBBeforeSendServerHostEvent;
// TsgcWSLBBeforeSendServerHostEvent = procedure(Connection: TsgcWSConnection; var Binding: TsgcWSLoadBalancerServerBinding) of object

Standardwert

Hinweise

OnBeforeSendServerBinding wird ausgelöst, nachdem der Load Balancer ein Backend-Server für eine eingehende Client-Verbindung ausgewählt hat und bevor die ausgewählte Binding-URL an den Client zurückgegeben wird. Der Parameter Binding stellt den Host, Port und das Protokoll bereit, die zurückgesendet werden; ändern Sie ihn, um die öffentliche Adresse zu überschreiben (zum Beispiel, um den Host umzuschreiben, wenn der Client das Backend über einen Reverse-Proxy oder eine andere öffentliche IP als die vom Backend selbst registrierte erreichen muss). Typische Verwendungen sind das Anpassen des Bindings für bestimmte Client-IPs, das Einfügen eines Sticky-Session-Ziels oder das Erzwingen eines bestimmten Protokolls (ws vs. wss) basierend auf dem Request. Lassen Sie das Binding unverändert, um den vom konfigurierten LoadBalancing-Algorithmus berechneten Wert beizubehalten.

Beispiel


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;

Zurück zu Ereignissen