HTTP
亮点
- 表现为普通的 HTTP(S) 服务器,通过
CONNECT方法将单个请求升级为隧道。 - 易于使用 Nginx、Apache 或云负载均衡进行前置。
- 双方支持时可使用 HTTP/2 多路复用。
流程
- 客户端与代理端点建立 TCP(或 TLS)连接。
- 客户端可选进行 HTTP 认证(Basic、Digest、Bearer 或双向 TLS)。
- 客户端发送
CONNECT target.example.com:443 HTTP/1.1(或 HTTP/2 的:method CONNECT)。 - 代理校验策略后返回
200 Connection Established。 - 后续字节透明转发,直到任一侧关闭隧道。
配置片段
优势
- 与标准 HTTPS 流量混在一起,难以与普通网页浏览区分。
- 适合在只允许 80/443 端口的企业防火墙后使用。
- HTTP/2 变体可在单个 TCP 会话上复用多条隧道,降低握手成本。
限制
- 仅支持 TCP;不经额外封装无法转发 UDP 流。
- 代理需为每条隧道维护状态,在大量短连接下会影响扩展性。
- 若未清理,额外的 HTTP 头可能泄露元数据。