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を介して独立して設定されるため、プレーンなダウンストリームポートをセキュアなアップストリームサーバーにマッピングすることが可能です(またはその逆も可能です)。

TLSOptions は、TLS が True のときのアップストリーム 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;

プロパティに戻る