proxy - -->サーバー この環境では、クライアントは http プロキシの背後にあり、クライアントはプロキシ http トンネルを利用する必要があります。"/> proxy - -->サーバー この環境では、クライアントは http プロキシの背後にあり、クライアントはプロキシ http トンネルを利用する必要があります。">

ホームページ  >  記事  >  バックエンド開発  >  http プロキシ トンネル経由で Client Hello を送信する方法

http プロキシ トンネル経由で Client Hello を送信する方法

王林
王林転載
2024-02-12 18:06:15470ブラウズ

如何通过 http 代理隧道发送 Client Hello

質問の内容

バックエンド サービスへの TLS 接続を確立するクライアントがあります。

私が遭遇した状況は 2 つあります。

  1. 直接ネットワーク: クライアント--->サーバー

    この環境では、次のコードに示すように、クライアントはサーバーに直接接続します。

リーリー
  1. プロキシ ネットワーク: クライアント--->プロキシ--->サーバー

    この環境では、クライアントは http プロキシの背後にあり、クライアントとサーバーの間でトラフィックを転送するためにプロキシ http トンネルを利用する必要があります。

    クライアント側で golang.org/x/net/proxy を使用してプロキシに接続します。プロキシは http プロキシであるため、クライアントは net.dialer を使用して tcp 経由でプロキシに接続する必要があります。

リーリー

ケース 1、クライアントは tls 接続を開始します。ネットワーク トラフィック パケットで、クライアントは tcp 接続をトリガーします。3 回のハンドシェイクの後、クライアントは client hello をサーバーに送信します。

ケース 2 では、クライアントは最初に tcp を使用して http プロキシ (例: 10.0.0.1:8080) に接続し、次にプロキシに connect を送信し、プロキシは を返します。接続が確立されました 、しかしクライアント client hello をサーバーに送信しません。

ケース 2 の場合、クライアント側で

client hello の送信をどこでどのように実装すればよいかわかりません。 ###前もって感謝します。

解決策

go doc を検索した結果、解決策が見つかりました。後で同じような問題に遭遇する人に役立つことを願っています。

tls

には、既存のネットワークから構築できる関数 client があります。 Conn、Handshake を使用します。 リーリー

以上がhttp プロキシ トンネル経由で Client Hello を送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。