首页 / 文章 / zeroserve:用 eBPF 当配置文件的极速 HTTPS 服务器
← 返回
AI技术

zeroserve:用 eBPF 当配置文件的极速 HTTPS 服务器

✍️ zhirenhun 📅 2026/6/7 👁 91 阅读 ⏱ 4 分钟
zeroserve:用 eBPF 当配置文件的极速 HTTPS 服务器

简介

zeroserve 是一个小巧、快速、零配置的 HTTPS 服务器。你把网站打包成 tarball,它就能跑起来——支持 HTTP/2 和 TLS 1.3,自带热重载,内存占用极低。最大的亮点是:你可以在 tarball 里放入 eBPF 程序,这些程序会在每次请求时以沙箱化的中间件形式运行——改写请求、认证、限流,或反向代理到后端。

核心设计理念:程序即配置

传统服务器用声明式语言(location 块、rewrite 规则、map 指令),然后在声明式语言力有不逮时,在侧面搭载脚本运行环境(Lua 或 Caddy 插件)。行为最终被分割到两层。

zeroserve 把它们坍缩为一件事——没有配置文件。eBPF 程序就是配置:一个单一的、沙箱化的程序,看到每个请求并决定如何处理:路由、请求头、认证、限流、代理。

性能基准

在 8 核 Ryzen 7 3700X 上测试,所有服务器绑定单核:

  • 小文件(174 B): zeroserve 36,681 req/s vs nginx 31,226 req/s(快 17%)
  • 大文件(100 KB): zeroserve 8,000 req/s vs nginx 7,600 req/s
  • eBPF vs Lua 中间件: zeroserve 43,709 req/s vs nginx Lua 28,653 req/s(快 50%)
  • 反向代理(小响应): zeroserve 26,486 req/s vs nginx 21,761 req/s(快 22%)

技术架构亮点

  • io_uring 驱动: 所有网络和磁盘 I/O 通过 io_uring,单线程事件循环
  • 用户态 eBPF: 脚本 JIT 编译为本地机器码,指针笼保证内存安全
  • 可抢占运行时: 定时器可中断正在执行的 JIT 代码
  • 零磁盘部署: 站点打包在 tarball 中,从未解压到磁盘
  • 完整 TLS: TLS 1.3、ECH、SNI 证书选择、JA4 指纹识别
  • 内存: 单实例约 15 MB PSS,多实例共享代码页

适用场景

如果你的代理响应小而频繁,zeroserve 是更快选择;如果响应体较大,nginx 的缓冲机制更优。作为 nginx 和 Caddy 的替代方案,zeroserve 在性能、配置范式和安全性上都做出了有趣的创新。


项目地址:github.com/losfair/zeroserve

——

🧑‍💻

zhirenhun

一个热爱技术的程序员,喜欢分享前沿AI知识和开发经验。

← 上一篇
Tokenomics:量化智能体软件工程中的 Token 消耗
下一篇 →
通过 SQL 注入绕过机场安检

📌 相关推荐

📄
Rhombus 1.0 正式发布
2026/6/24
📄
艾尔登法环的低技术AI
2026/6/24
提示注入的理论基础:角色混淆(Prompt Injection as Role Confusion)
2026/6/23
← 返回文章列表