TsgcWebSocketProxyServer › Propiedades › Proxy

Proxy Propiedad

Identifica el destino ascendente: el servidor WebSocket/TCP real al que se reenvía de forma transparente cada cliente aceptado.

Sintaxis

property Proxy: TsgcWSProxyServer_Options read FProxy write SetProxy;

Valor Predeterminado

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

Observaciones

Proxy describe el destino upstream — el servidor WebSocket/TCP real al que este componente reenvía el tráfico. No es una configuración de proxy HTTP CONNECT; TsgcWebSocketProxyServer en sí mismo es el proxy, y cada cliente downstream aceptado provoca que se abra una conexión saliente correspondiente a este destino. Configure las subpropiedades antes de activar el componente: Host es el nombre de host o IP del servidor upstream (por defecto 127.0.0.1), Port es el puerto TCP en el que escucha (por defecto 80), MessageType selecciona si el texto reenviado se transmite como frames mtText o mtBinary, y TLS establecido en True indica al proxy que abra el tramo upstream mediante una conexión TLS/SSL segura (wss://). El endpoint TLS downstream expuesto a los clientes se configura de forma independiente mediante SSL y SSLOptions, de modo que un puerto downstream sin cifrado puede mapearse a un servidor upstream seguro (o viceversa).

TLSOptions configura la conexión TLS ascendente cuando TLS es True. Es la misma clase que TsgcWebSocketClient.TLSOptions: IOHandler selecciona iohOpenSSL (el predeterminado), iohSChannel o iohNativeTLS, y Version, OpenSSL_Options (VersionMin, APIVersion, LibPath), los archivos de certificado, VerifyCertificate, ALPNProtocols, NativeTLS_Options y SChannel_Options se aplican igual que en el cliente WebSocket. Con las opciones predeterminadas, OpenSSL negocia la versión más alta que admite la biblioteca, hasta TLS 1.3. Establezca TLSOptions.Version u OpenSSL_Options.VersionMin para elevar la versión mínima. Con iohNativeTLS la conexión ascendente no necesita ninguna biblioteca OpenSSL y las reconexiones reanudan la sesión TLS con un ticket de sesión.

Ejemplo


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;

Volver a Propiedades