HTTP

亮点

  • 表现为普通的 HTTP(S) 服务器,通过 CONNECT 方法将单个请求升级为隧道。
  • 易于使用 Nginx、Apache 或云负载均衡进行前置。
  • 双方支持时可使用 HTTP/2 多路复用。

流程

  1. 客户端与代理端点建立 TCP(或 TLS)连接。
  2. 客户端可选进行 HTTP 认证(Basic、Digest、Bearer 或双向 TLS)。
  3. 客户端发送 CONNECT target.example.com:443 HTTP/1.1(或 HTTP/2 的 :method CONNECT)。
  4. 代理校验策略后返回 200 Connection Established
  5. 后续字节透明转发,直到任一侧关闭隧道。

配置片段

优势

  • 与标准 HTTPS 流量混在一起,难以与普通网页浏览区分。
  • 适合在只允许 80/443 端口的企业防火墙后使用。
  • HTTP/2 变体可在单个 TCP 会话上复用多条隧道,降低握手成本。

限制

  • 仅支持 TCP;不经额外封装无法转发 UDP 流。
  • 代理需为每条隧道维护状态,在大量短连接下会影响扩展性。
  • 若未清理,额外的 HTTP 头可能泄露元数据。