TsgcWebSocketLoadBalancerServerÉvénements › OnBeforeSendServerBinding

OnBeforeSendServerBinding Événement

Déclenché avant que l'équilibreur de charge n'envoie une liaison de serveur backend (hôte, port, protocole) à un client en aval nouvellement accepté.

Syntaxe

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

Valeur par défaut

Remarques

OnBeforeSendServerBinding est déclenché après que l'équilibreur de charge a sélectionné un serveur backend pour une connexion client entrante et avant que l'URL de liaison sélectionnée soit renvoyée au client. Le paramètre Binding expose l'hôte, le port et le protocole qui seront renvoyés ; modifiez-le pour remplacer l'adresse publique (par exemple pour réécrire l'hôte lorsque le client doit atteindre le backend via un proxy inverse ou une adresse IP publique différente de celle enregistrée par le backend lui-même). Les utilisations typiques sont l'ajustement de la liaison pour des adresses IP client spécifiques, l'injection d'une cible de session persistante, ou le forçage d'un protocole particulier (ws ou wss) en fonction de la requête. Laissez Binding inchangé pour conserver la valeur calculée par l'algorithme LoadBalancing configuré.

Exemple


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;

Retour aux événements