TsgcWebSocketLoadBalancerServer › Events › OnSSLGetHandler
SSLハンドラが作成される前に発生し、カスタムのサーバー側ハンドラインスタンスをロードバランサーに提供できます。
property OnSSLGetHandler: TsgcWSOnSSLGetHandler;
// TsgcWSOnSSLGetHandler = procedure(Sender: TObject; aType: TwsSSLHandler; var aSSLHandler: TIdSSLIOHandlerSocketBase) of object
—
OnSSLGetHandlerは、ロードバランサーがSSLバインディングに使用するTLS IOHandlerを構築する直前に発生します。デフォルトハンドラーを置き換えるには、aSSLHandlerをTIdServerIOHandlerSSLBase(またはロードバランサーがTLSでバックエンドに到達するためにクライアント側ハンドラーを必要とする場合はTIdIOHandlerSSLBase)から継承した独自のクラスのインスタンスに割り当てます。例: 特殊なOpenSSLまたはSChannel実装をプラグインする場合。aSSLHandlerを未割り当てのままにすると、コンポーネントがデフォルトハンドラーを作成します。その場合、OnSSLAfterCreateHandlerを使用して作成後にプロパティを調整できます。コンポーネントは、ここで割り当てられたハンドラーの所有権を取得し、サーバーが破棄されるときにそれを解放します。
procedure OnSSLGetHandler(Sender: TObject; aType: TwsSSLHandler;
var aSSLHandler: TIdSSLIOHandlerSocketBase);
begin
aSSLHandler := TCustomServerSSLHandler.Create(nil);
// ... configure handler properties
end;