关于 Angie 网络服务器#
Angie /andʒi/ 是一个高效、强大且可扩展的网络服务器, 它是从 nginx 分叉而来的:
由原团队的前开发者构思, 旨在超越早期愿景, 并作为 即插即用替代品, 无需对模块设置或配置进行重大更改。
包含了 nginx 1.27.5 的所有功能, 并增加了许多 新特性。
我们为多种 系统和架构 构建二进制包, 以及 Docker 镜像。 源代码在我们的 公共仓库 中开放, 使用 类 BSD 许可证。
此外,具有 附加功能 的商业版本以 Angie PRO 的名称销售。
当前版本#
Angie 1.10.1 和 Angie PRO 1.10.1 于 2025 年 7 月 17 日 发布。 新版本每季度发布一次; 在此期间,我们会发布紧急修复和重要更新。
功能#
与 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/
基于 Docker 容器 (或类似工具如 Podman) 的事件和标签动态更新上游组, 无需重新加载服务器。
将 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
头字段中的服务器签名。