TsgcWebSocketLoadBalancerServer › 이벤트 › OnBeforeSendServerBinding
load balancer가 새로 수락된 다운스트림 클라이언트에 백엔드 서버 바인딩(호스트, 포트, 프로토콜)을 전송하기 전에 발생합니다.
property OnBeforeSendServerBinding: TsgcWSLBBeforeSendServerHostEvent;
// TsgcWSLBBeforeSendServerHostEvent = procedure(Connection: TsgcWSConnection; var Binding: TsgcWSLoadBalancerServerBinding) of object
—
OnBeforeSendServerBinding은 로드 밸런서가 들어오는 클라이언트 연결에 대해 백엔드 서버를 선택한 후, 선택한 바인딩 URL이 클라이언트에 반환되기 전에 발생합니다. Binding 매개변수는 다시 전송될 host, port 및 protocol을 노출합니다. 공용 주소를 재정의하려면 이를 수정하십시오(예: 클라이언트가 역방향 프록시나 백엔드 자체가 등록한 것과 다른 공용 IP를 통해 백엔드에 도달해야 할 때 host를 다시 쓰기 위해). 일반적인 용도는 특정 클라이언트 IP에 대한 바인딩 조정, 고정 세션 대상 주입, 또는 요청을 기반으로 특정 프로토콜(ws 대 wss) 강제입니다. 구성된 LoadBalancing 알고리즘이 계산한 값을 유지하려면 Binding을 변경하지 마십시오.
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;