关于 Angie 网络服务器#

Angie /andʒi/ 是一个高效、强大且可扩展的网络服务器, 它是从 nginx 分叉而来的:

我们为多种 操作系统和架构 提供二进制包, 以及 Docker 镜像。 源代码在 公共仓库 中开放, 使用 类 BSD 许可证

此外,商业版本 Angie PRO 提供 附加功能, 并已被列入 俄罗斯软件注册表

Angie 的预构建软件包、 Docker 镜像和源代码构建选项。

启动和运行控制; 配置、模块、指令和变量。

解决 Angie 的技术问题, 反馈渠道。

为希望参与项目的开发者提供的信息。

当前版本#

Angie 1.9.1Angie PRO 1.9.12025 年 5 月 29 日 发布。 新版本每季度发布一次; 在此期间,我们会发布紧急修复和重要更新。

另请参见 AngieAngie PRO 的完整版本历史。

功能#

nginx 相比,免费开源版本 Angie 的主要优势包括:

  • 支持 HTTP/3 用于客户端连接 以及与 代理服务器 的连接, 能够在两侧独立使用不同的协议 (HTTP/1.x, HTTP/2, HTTP/3)。

  • 通过内置的 ACME 支持, 实现自动 HTTPS 配置和 TLS 证书获取。

  • 简化配置:location 指令 可以一次定义多个匹配表达式, 使得可以 合并 具有相同设置的块。

  • 通过 RESTful API 接口以 JSON 格式提供关于网络服务器的基本信息, 其 配置, 以及代理服务器、客户端连接、共享内存区域和许多其他内容的 指标

  • Prometheus 格式导出统计信息, 支持 可自定义模板

  • Console Light 可视化监控控制台, 通过浏览器监控服务器。 查看在线演示:https://console.angie.software/

  • 能够自动 更新 匹配域名的代理服务器列表, 并从 SRV DNS 记录中 获取 这些列表。

  • 通过 proxy_cache_path 将共享内存区域刷写到磁盘, 在重启和更新之间保留缓存索引内容, 消除缓存加载延迟,使服务器启动更快。

  • 会话绑定 模式, 将同一会话中的所有请求定向到同一个代理服务器。

  • 通过 server 指令的 slow_start 选项, 在故障后平滑地重新启用代理服务器。

  • 按比特率比例限制 MP4 文件传输速率, 从而减少带宽负载。

  • stream 模块中的 mqtt_preread 指令, 扩展 MQTT 协议的授权和负载均衡能力。

  • 通过 stream 中的 rdp_preread 指令, 利用 RDP 协议的会话 cookie 进行负载均衡决策。

  • 为许多流行的第三方模块提供 预构建二进制包


商业版 Angie PRO公开可用功能 的基础上增加了以下内容:

  • 通过 RESTful API 接口 进行代理服务器的动态配置管理; 可视化监控控制台 Console Light 也可用于通过浏览器管理服务器。

  • 通过发送定期 测试请求 主动检查代理服务器状态。

  • 基于 平均响应时间 的负载均衡, 具有 可调平滑因子

  • 基于反馈 的负载均衡, 根据变量值选择服务器; 这些值预期来自服务器自身, 报告其 CPU 负载或其他指标。

  • 通过 upstream 块中的 queue 指令 配置请求等待队列。

  • 额外的绑定模式 sticky learn, 可以在共享内存或外部存储中检测和存储会话, 允许多个负载均衡器在集群中协同工作。

  • 在 HTTP 模块的 upstream 块中使用 backup_switch 指令, 允许备用服务器在主服务器恢复可用后继续处理请求。

  • 有条件地 绑定客户端连接 到代理服务器连接, 这也使得代理 NTLM 成为可能。

  • 代理模块中的缓存分段,能够根据响应属性将其存储在不同 位置

  • 通过 server_tokens 指令可以隐藏或自定义 错误页面和 Server 响应头中的服务器标识。