TsgcWebSocketProxyServer › 이벤트 › OnSSLALPNSelect
다운스트림 클라이언트와의 ALPN 활성화 핸드셰이크 중에 발생하여, 애플리케이션이 협상할 프로토콜을 선택할 수 있도록 합니다.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
다운스트림 클라이언트가 TLS 핸드셰이크 중에 Application-Layer Protocol Negotiation을 광고하면 OnSSLALPNSelect가 발생하므로 프록시가 다운스트림 레그에서 협상할 프로토콜을 결정할 수 있습니다. aProtocols 매개변수는 클라이언트가 광고한 이름이 있는 TStringList입니다(예: "h2", "http/1.1"). 서버가 사용하려는 것에 aProtocol을 할당하십시오. 빈 문자열을 반환하면 기본 동작이 유지되며, 이 경우 TLS 계층이 서버가 지원하는 첫 번째 광고된 프로토콜을 선택합니다.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;