TsgcWebSocketLoadBalancerServer › Zdarzenia › OnBeforeSendServerBinding
Wywoływane przed wysłaniem przez load balancer wiązania serwera backendowego (host, port, protokół) do nowo zaakceptowanego klienta podrzędnego.
property OnBeforeSendServerBinding: TsgcWSLBBeforeSendServerHostEvent;
// TsgcWSLBBeforeSendServerHostEvent = procedure(Connection: TsgcWSConnection; var Binding: TsgcWSLoadBalancerServerBinding) of object
—
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.
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;