TsgcWebSocketLoadBalancerServerEventos › OnBeforeSendServerBinding

OnBeforeSendServerBinding Evento

Se dispara antes de que el balanceador de carga envíe un enlace de servidor backend (host, puerto, protocolo) a un cliente descendente recién aceptado.

Sintaxis

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

Valor Predeterminado

Observaciones

OnBeforeSendServerBinding se genera después de que el balanceador de carga elige un servidor backend para una conexión de cliente entrante y antes de que la URL del binding seleccionado se devuelva al cliente. El parámetro Binding expone el host, el puerto y el protocolo que se enviarán de vuelta; modifíquelo para anular la dirección pública (por ejemplo, para reescribir el host cuando el cliente deba llegar al backend a través de un proxy inverso o una IP pública diferente a la registrada por el propio backend). Los usos habituales son ajustar el binding para IPs de cliente específicas, inyectar un destino de sesión fija o forzar un protocolo determinado (ws frente a wss) basándose en la solicitud. Deje Binding sin cambios para conservar el valor calculado por el algoritmo LoadBalancing configurado.

Ejemplo


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;

Volver a Eventos