TsgcWebSocketLoadBalancerServerイベント › OnBeforeSendServerBinding

OnBeforeSendServerBinding イベント

ロードバランサーが新しく受け入れたダウンストリームクライアントにバックエンドサーバーバインディング (ホスト、ポート、プロトコル) を送信する前に発生します。

構文

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

デフォルト値

解説

OnBeforeSendServerBinding は、ロードバランサーが受信クライアント接続のバックエンドサーバーを選択した後、選択されたバインディング URL がクライアントに返される前に発生します。Binding パラメーターはクライアントに返されるホスト、ポート、プロトコルを公開します。パブリックアドレスを上書きするために変更できます(例えば、クライアントがバックエンド自体によって登録されたものとは異なるパブリック IP またはリバースプロキシを通じてバックエンドに到達する必要がある場合にホストを書き換えるため)。典型的な使用例は、特定のクライアント 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;

イベントに戻る