TsgcWebSocketLoadBalancerServerEventos › OnBeforeSendServerBinding

OnBeforeSendServerBinding Event

Disparado antes que o load balancer envie um binding de servidor de backend (host, porta, protocolo) a um cliente downstream recém-aceito.

Sintaxe

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

Valor Padrão

Observações

OnBeforeSendServerBinding é gerado depois que o balanceador de carga escolhe um servidor de backend para uma conexão de cliente de entrada e antes que a URL de binding selecionada seja retornada ao cliente. O parâmetro Binding expõe o host, a porta e o protocolo que serão enviados de volta; modifique-o para sobrescrever o endereço público (por exemplo, para reescrever o host quando o cliente precisar alcançar o backend através de um proxy reverso ou de um IP público diferente daquele registrado pelo próprio backend). Os usos típicos são ajustar o binding para IPs de cliente específicos, injetar um destino de sessão sticky ou forçar um protocolo específico (ws vs wss) com base na requisição. Deixe o Binding inalterado para manter o valor calculado pelo algoritmo de LoadBalancing configurado.

Exemplo


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;

Voltar para Eventos