TsgcWebSocketLoadBalancerServerZdarzenia › OnBeforeSendServerBinding

OnBeforeSendServerBinding Zdarzenie

Wywoływane przed wysłaniem przez load balancer wiązania serwera backendowego (host, port, protokół) do nowo zaakceptowanego klienta podrzędnego.

Składnia

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

Wartość domyślna

Uwagi

OnBeforeSendServerBinding jest wywoływane po wybraniu przez moduł równoważenia obciążenia serwera zaplecza dla przychodzącego połączenia klienckiego i przed zwróceniem klientowi wybranego adresu URL powiązania. Parametr Binding udostępnia hosta, port i protokół, które zostaną odesłane; jego modyfikacja umożliwia nadpisanie adresu publicznego (np. w celu przepisania hosta, gdy klient musi dotrzeć do zaplecza przez zwrotny serwer proxy lub inny publiczny adres IP niż zarejestrowany przez zaplecze). Typowe zastosowania to dostosowanie powiązania dla określonych adresów IP klientów, wstrzykiwanie celu sesji sticky lub wymuszanie określonego protokołu (ws lub wss) na podstawie żądania. Pozostawienie parametru Binding bez zmian zachowuje wartość obliczoną przez skonfigurowany algorytm LoadBalancing.

Przykład


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;

Powrót do Zdarzeń