Hacker News 中文摘要

RSS订阅

Zeroserve:一款可通过eBPF脚本实现零配置的Web服务器 -- Zeroserve: A zero-config web server you can script with eBPF

文章摘要

zeroserve是一款无需配置的快速HTTPS服务器,可直接运行网站压缩包。其特色是支持通过eBPF程序处理每个请求,实现请求重写、认证、限速等功能。该服务器性能优异,全面使用io_uring技术,内置现代TLS功能,支持热重载,单文件部署简单高效。

文章总结

标题:zeroserve:一款可编程的零配置Web服务器

核心特点: 1. 零配置HTTPS服务器:直接运行网站压缩包,支持HTTP/2和TLS 1.3,具备热重载功能 2. eBPF脚本支持:通过用户态沙箱运行脚本处理请求(路由/认证/限流等) 3. 高性能架构: - 单核性能超越nginx - 全链路使用io_uring - 内置现代TLS功能(TLS 1.3/ECH/JA4指纹等)

技术亮点: - 单文件部署:整个网站打包为tar文件,通过字节范围读取直接服务 - 原子化更新:替换文件后发送SIGHUP即可完成热更新 - 安全沙箱: - eBPF程序JIT编译为原生代码 - 内存访问限制在专用区域 - 可抢占式运行时防止阻塞

性能对比(单核): | 测试场景 | zeroserve | nginx | Caddy | |---------------|----------|--------|--------| | 小文件(174B) | 36,681rps| 31,226rps| 12,830rps| | 大文件(100KB) | 8,000rps | 7,600rps| 6,084rps | | 反向代理 | 26,486rps| 21,761rps| 7,683rps |

脚本能力: - 支持请求改写/响应生成/反向代理 - 提供加密/JSON处理/限流等SDK - 内存限制256KB/默认2ms抢占间隔

项目定位: 替代nginx/Caddy的轻量级方案,特别适合需要灵活编程的中小型Web服务。开源地址:https://github.com/losfair/zeroserve

(注:省略了部分基准测试细节和代码示例,保留核心技术指标和对比数据)

评论总结

以下是评论内容的总结:

  1. 质疑AI生成内容(bflesch)

    • 主要观点:对AI生成的内容持怀疑态度,担心指标造假和功能真实性
    • 关键引用:"if the metrics are faked" / "README is hallucinated"
    • 认可度:未评分
  2. 技术改进建议(mmastrac)

    • 主要观点:建议使用Rust文件替代C文件,推荐SO_REUSEPORT和kTLS
    • 关键引用:"drop an .rs file into the eBPF dir" / "push kTLS IMO"
    • 认可度:未评分
  3. 配置与代码之争(jarym)

    • 主要观点:认为配置优于代码,nginx已经很优秀
    • 关键引用:"people prefer configuration over code" / "built-ins meet enough peoples needs"
    • 认可度:未评分
  4. 功能定位质疑(mmarian)

    • 主要观点:认为静态文件服务不是重点
    • 关键引用:"don't think you should focus on static files"
    • 认可度:未评分
  5. 技术兴趣(razighter777)

    • 主要观点:建议结合XDP等BPF程序类型
    • 关键引用:"combining with other bpf program types"
    • 认可度:未评分
  6. 正面评价(z3ratul163)

    • 主要观点:简单称赞
    • 关键引用:"looks amazing"
    • 认可度:未评分
  7. 基准测试相关(password4321)

    • 主要观点:指出新服务器缺乏基准测试平台
    • 关键引用:"death of the techempower web server benchmarks"
    • 认可度:未评分
  8. 打包方式疑问(rashkov)

    • 主要观点:质疑使用tarball的原因
    • 关键引用:"Why a tarball?"
    • 认可度:未评分

总结:评论呈现两极观点,一方面对技术创新表示赞赏,另一方面对AI参与、功能定位和实用性提出质疑。技术性讨论集中在BPF应用、配置方式和性能优化等方面。所有评论均未显示评分数据。