#反向代理 #Web服务器 #仓库 #现代 #GitHub #信息

app katwebx

适用于现代Web的快速静态Web服务器和反向代理。更多信息可在项目的GitHub仓库中找到。

7个版本 ()

使用旧的Rust 2015

1.0.0-eval22019年8月17日
1.0.0-eval12019年8月16日
0.1.1-beta2019年2月2日
0.1.0-beta.32018年12月15日

#597 in HTTP服务器

MIT 许可证

72KB
1K SLoC

KatWebX 构建状态 构建状态 仍开放的问题百分比 解决一个问题的平均时间

适用于现代Web的极快静态Web服务器和反向代理。更多信息可在KatWebX.kittyhacker101.tk上找到。

重要信息

KatWebX仍在开发中,您可能会遇到问题。KatWebX未经充分测试,不建议在生产环境中使用!某些版本比其他版本更稳定,发布页面上的内容可能比git仓库中的当前代码更稳定。

对这个项目感兴趣?您可以通过向以下比特币地址捐赠来资助KatWebX的开发:1KyggZGHF4BfHoHEXxoGzDmLmcGLaHN2x2

发布时间表

以下是KatWebX发布的预计日期。

  • 八月 - 评估版本,包含所有完全实现的功能,以及性能良好且易于阅读的代码库。在此版本发布之后,将不会进行任何功能更改,只在此期间实现性能优化、代码清理和错误修复。评估版本旨在测试 KatWebX 在生产环境中的表现,但不适用于大规模部署或关键系统。
  • 九月 - 将完成并打包一个功能完整、可用于生产的 1.0 版本。额外更新将仅添加一些小的功能更改,主要关注性能改进和错误修复。

已知问题(本文件撰写时)

  • 评估版本 1 无法正确发送内容类型 HTTP 头部。这个问题将在未来的版本中修复。
  • 评估版本 1 在对代码库进行重要更改之前进行了编译,因此不适合评估 KatWebX 的功能。很快将制作一个新的构建版本。

当前功能

  • 易于阅读的 TOML 配置
  • 灵活的配置解析
  • 基于正则表达式的重定向
  • 压缩的基于正则表达式的反向代理
  • HTTP 基本认证
  • 极快的文件服务
  • Brotli 文件压缩
  • Systemd/systemfd 套接字监听
  • 即时配置重新加载
  • HSTS 支持
  • SNI 和 OCSP 响应叠加
  • 高性能 HTTP/2 和 TLS 1.3
  • 多种日志格式
  • 材质设计服务器生成的页面

可能的功能(可能不会很快实现,但未来有实现的可能性)

  • Let's Encrypt 集成(难以实现但实用,未来可能实现)
  • 缓存代理(目前很难实现,短期内不太可能实现)
  • 高级负载均衡器(未来可能实现)
  • WebSocket 反向代理(未来可能实现)
  • 支持更多架构(最终可能实现,需要更新依赖项)

不太可能实现的功能(短期内不会实现,或根本不会实现)

  • QUIC 支持(底层 HTTP 库(actix-web)不支持它,并且只有 1 个浏览器默认支持。在它得到更多采用之前,我不会自己添加它。)
  • CGI/FastCGI 支持(没有现有的 Rust 客户端库,并且实际上也没有理由实现它。HTTP/2 可以完成 FastCGI 所能做的一切,而 KatWebX 内置了支持 HTTP/2 的反向代理。)
  • SPDY 支持(SPDY 正在消亡,因为它被 HTTP/2 取代。KatWebX 完全支持 HTTP/2。)
  • TLS 1.1 或更早版本(所有最新的浏览器都支持 TLS 1.2 或更高版本,这些较旧的 TLS 协议非常不安全。)
  • 其他语言的文档(我不知道其他语言,也没有资源雇佣翻译人员。)

依赖项

~38–54MB
~1M SLoC