ylong_http 是一个用 Rust 编写的 HTTP 协议栈,核心亮点是其 高性能 HTTPS 代理模块 。 该项目最初为 OpenHarmony 系统构建,在 HTTPS 代理 方向完成了以下关键能力: - TLS 代理通信 :基于 OpenSSL 实现,支持代理服务器单向/双向证书验证 - 灵活的 TLS 配置 :支持客户端证书、私钥、算法套件等自定义配置 - 模块化代理架构 :将代
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
ylong_http
ylong_http是 OpenHarmony 网络组件使用的 Rust HTTP 协议栈。本工作区包含:ylong_http:HTTP 协议类型、编解码器、Header、Body、HPACK/QPACK,以及 HTTP/1.1–HTTP/3 基础组件;ylong_http_client:同步/异步客户端、连接池、TLS 适配、重定向、代理路由、 上传和下载能力。English · 用户指南
HTTPS 代理能力
https_impl功能分支为异步 HTTP/1.1 与 HTTP/2 客户端增加了工程化 HTTPS 代理支持:Proxy扩展接口;source,同时给出明确阶段。HTTPS proxy 访问 HTTPS origin 时存在两个互相独立的 TLS 会话:
外层证书验证代理,隧道内证书验证源站;proxy mTLS 客户端凭据不会被误用于源站。
Proxy 架构
Proxy::match_route对每个请求只选择一次完整路由:同一个
ProxyRoute被连接池、连接器、TLS、认证和请求目标格式共同使用。DirectForwardTunnel扩展新协议时必须提供真实路由和执行路径。未实现能力明确失败,不会静默直连,也不以 Legacy 空壳伪装兼容。
快速使用
构建
OpenSSL 3、异步 HTTP/1.1 与 HTTP/2:
无 TLS 构建:
验证 HTTPS 代理服务器
HTTPS 代理 mTLS
proxy_danger_accept_invalid_certs(true)只能用于隔离测试;它会关闭代理证书验证, 不能作为生产环境的配置捷径。验证命令
正式集成测试覆盖 forward、CONNECT、代理 mTLS、TLS 错误、HTTP/1.1、HTTP/2、 隧道背压和自定义
Proxy。范围
本次交付验收异步 HTTP/1.1、HTTP/2 下的 HTTPS proxy。同步客户端和 HTTP/3 的 HTTPS proxy 适配不在本次范围内。当前支持 HTTP Basic 代理认证;其他认证协议必须 单独完整实现。
许可证
Apache License 2.0,参见 LICENSE。