TsgcWebSocketProxyServer › Proprietà › Proxy

Proxy Proprietà

Identifica il destinatario upstream — il server WebSocket/TCP reale a cui ogni client accettato viene inoltrato in modo trasparente.

Sintassi

property Proxy: TsgcWSProxyServer_Options read FProxy write SetProxy;

Valore predefinito

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

Note

Proxy descrive la destinazione upstream — il vero server WebSocket/TCP a cui questo componente inoltra il traffico. Non è una configurazione di proxy HTTP CONNECT; TsgcWebSocketProxyServer stesso è il proxy, e ogni client downstream accettato causa l'apertura di una corrispondente connessione in uscita verso questa destinazione. Configurare le sotto-proprietà prima di attivare il componente: Host è il nome host o l'IP del server upstream (predefinito 127.0.0.1), Port è la porta TCP su cui è in ascolto (predefinito 80), MessageType seleziona se il testo inoltrato viene trasmesso come frame mtText o mtBinary, e TLS impostato su True indica al proxy di aprire il collegamento upstream su una connessione TLS/SSL sicura (wss://). L'endpoint TLS downstream esposto ai client è configurato indipendentemente tramite SSL e SSLOptions, quindi una porta downstream non sicura può essere mappata a un server upstream sicuro (o viceversa).

TLSOptions configura la connessione TLS upstream quando TLS è True. È la stessa classe di TsgcWebSocketClient.TLSOptions: IOHandler seleziona iohOpenSSL (il predefinito), iohSChannel o iohNativeTLS, e Version, OpenSSL_Options (VersionMin, APIVersion, LibPath), i file dei certificati, VerifyCertificate, ALPNProtocols, NativeTLS_Options e SChannel_Options vengono applicati come li applica il client WebSocket. Con le opzioni predefinite OpenSSL negozia la versione più alta supportata dalla libreria, fino a TLS 1.3. Impostare TLSOptions.Version o OpenSSL_Options.VersionMin per innalzare la versione minima. Con iohNativeTLS la connessione upstream non necessita di alcuna libreria OpenSSL e le riconnessioni riprendono la sessione TLS con un session ticket.

Esempio


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;

Torna alle Proprietà