TsgcWebSocketProxyServer › 属性 › Proxy

Proxy 属性

标识上游目标——每个已接受的客户端将被透明转发到的真实 WebSocket/TCP 服务器。

语法

property Proxy: TsgcWSProxyServer_Options read FProxy write SetProxy;

默认值

Host='127.0.0.1', Port=80, MessageType=mtText, TLS=False

备注

Proxy 描述上游目标,即此组件将流量转发到的真实 WebSocket/TCP 服务器。它不是 HTTP CONNECT 代理配置;TsgcWebSocketProxyServer 本身就是代理,每个接受的下游客户端都会触发到此目标的匹配出站连接。在激活组件之前配置子属性:Host 是上游服务器的主机名或 IP(默认 127.0.0.1),Port 是其监听的 TCP 端口(默认 80),MessageType 选择转发的文本是以 mtText 还是 mtBinary 帧中继,将 TLS 设为 True 告知代理通过安全的 TLS/SSL 连接(wss://)打开上游段。向客户端公开的下游 TLS 端点通过 SSL 和 SSLOptions 单独配置,因此普通下游端口可以映射到安全上游服务器(反之亦然)。

TLS 为 True 时,TLSOptions 用于配置上游 TLS 连接。它与 TsgcWebSocketClient.TLSOptions 是同一个类:IOHandler 可选择 iohOpenSSL(默认值)、iohSChannel 或 iohNativeTLS,而 Version、OpenSSL_Options(VersionMin、APIVersion、LibPath)、证书文件、VerifyCertificate、ALPNProtocols、NativeTLS_Options 和 SChannel_Options 的应用方式与 WebSocket 客户端相同。使用默认选项时,OpenSSL 会协商该库所支持的最高版本,最高到 TLS 1.3。请设置 TLSOptions.Version 或 OpenSSL_Options.VersionMin 来提高最低版本。使用 iohNativeTLS 时,上游连接不需要任何 OpenSSL 库,并且重新连接会通过会话票据恢复 TLS 会话。

示例


oProxy := TsgcWebSocketProxyServer.Create(nil);
oProxy.Port := 80;
oProxy.Proxy.Host := 'upstream.example.com';
oProxy.Proxy.Port := 443;
oProxy.Proxy.TLS := true;
oProxy.Proxy.TLSOptions.IOHandler := iohNativeTLS;
oProxy.Proxy.MessageType := mtText;
oProxy.Active := true;

返回属性