首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于Socks5服务器的HTTPS实现

基于Socks5服务器的HTTPS实现
EN

Stack Overflow用户
提问于 2022-01-01 01:15:48
回答 1查看 830关注 0票数 2

我正在尝试实现一个Socks5服务器,它可以同时转发HTTP和HTTPS通信量。

正如RFC1928所提到的,必须采取以下步骤来建立连接和转发数据:

  1. 客户端向代理发送问候语。
  2. Client & proxy身份验证(假设它成功)。
  3. 客户端向代理发送请求以连接到目标。
  4. 代理连接到目标,并向客户端发回一个响应,以指示一个成功打开的隧道。
  5. 代理从客户端读取数据并将其转发到目的地。
  6. 代理从目标读取数据并将其转发给客户端。

到目前为止,代理的工作原理是正常的。它能够使用它的基本数据转发机制来中继HTTP流量。但是,由于SSL/TLS加密,客户端对HTTPS网站的任何请求都将被中止。

是否还需要遵循另一个序列/步骤来处理SSL/TLS (HTTPS)通信量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-01 04:00:14

您所描述的序列是正确的,即使对于HTTPS也是如此。当客户端希望通过代理向HTTPS服务器发送请求时,它将请求代理连接到目标服务器的HTTPS端口,然后一旦隧道建立,客户端将与目标服务器协商TLS握手,然后发送(加密的) HTTP请求并接收(加密的) HTTP响应。隧道只是原始字节的传递,代理在客户机和服务器之间没有任何加密的概念。它不关心字节代表什么,它的工作只是把它们按原样传递出去。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70546537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档