<a id="about"></a>

# 关于 Angie

Angie
/[andʒi](https://en.wikipedia.org/wiki/International_Phonetic_Alphabet)/
是一个高效、强大且可扩展的 Web 服务器，
从 nginx 分支而来：

* 由原始团队的前开发人员构思，
  旨在超越早期愿景，
  作为 [直接替代品](https://cn.angie.software//angie/docs/configuration/migration.md#migration)，
  无需对模块设置或配置进行重大更改。
* 包含
  [nginx |nginxversion|](https://nginx.org/en/CHANGES)
  的大部分功能
  以及许多 [新特性](#index-features-oss)。

我们为多种
[系统和架构](https://cn.angie.software//angie/docs/installation/index.md#install-packages)
构建二进制包，
以及
[Docker 镜像](https://cn.angie.software//angie/docs/installation/docker.md#docker-images)。
源代码在我们的
[公共仓库](https://cn.angie.software//angie/docs/development.md#development)
中开放，
采用
[类 BSD 许可证](https://cn.angie.software//angie/license-angie.md#license-angie)。

此外，具有 [附加功能](#index-features-pro)
的商业版本以 Angie PRO 的名义销售。

可选择现成的 Angie 软件包、
Docker 镜像和源代码构建选项。

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

解决 Angie 的技术问题，
可用的反馈渠道。

为想要为项目做出贡献的
开发人员提供的信息。

<a id="current-version"></a>

## 当前版本

**Angie |angie_version|** 和 **Angie PRO |angie_pro_version|** 于 **|angie_release_date|** 发布。
新版本每季度发布一次；
在此期间，我们会发布紧急修复和重要更新。

另请参阅
[Angie](https://cn.angie.software//angie/docs/oss_changes.md#oss-changes)
和
[Angie PRO](https://cn.angie.software//angie/docs/pro_changes.md#pro-changes)
的完整版本历史。

<a id="index-features-oss"></a>

## 特性

相对于 nginx 的核心优势，
在 Angie 的免费开源版本中可用：

- 支持客户端连接的 [HTTP/3](https://cn.angie.software//angie/docs/configuration/modules/http/http_v3.md#http-v3)，
  以及 [代理服务器](https://cn.angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-http-version) 连接，
  能够在两端独立使用不同的协议版本
  （HTTP/1.x、HTTP/2、HTTP/3）。
- 自动 HTTPS 通过内置的 [ACME](https://cn.angie.software//angie/docs/configuration/modules/http/http_acme.md#id4) 协议支持提供 TLS 证书。
- 简化配置：`location` 指令
  可以一次定义多个匹配表达式，从而实现
  具有共享设置的块的 [组合](https://cn.angie.software//angie/docs/configuration/modules/http/index.md#combined-locations)。
- 通过 RESTful [API](https://cn.angie.software//angie/docs/configuration/modules/http/http_api.md#a-api) 接口以 JSON 格式
  公开有关 Web 服务器、
  其 [配置](https://cn.angie.software//angie/docs/configuration/modules/http/http_api.md#a-api-config-files)
  以及代理服务器、客户端连接、
  共享内存区域等的 [指标](https://cn.angie.software//angie/docs/configuration/modules/http/http_api.md#metrics)
  的基本信息。
- 以 [Prometheus](https://cn.angie.software//angie/docs/configuration/modules/http/http_prometheus.md#id3) 格式导出统计信息，
  支持 [可自定义模板](https://cn.angie.software//angie/docs/configuration/modules/http/http_prometheus.md#prometheus-template)。
- 通过
  [Console Light](https://cn.angie.software//angie/docs/configuration/monitoring.md#monitoring) 可视化监控工具
  在浏览器中监控服务器。
  查看在线演示：[https://console.angie.software/](https://console.angie.software/)
- 基于
  [Docker 容器](https://cn.angie.software//angie/docs/configuration/modules/http/http_docker.md#http-docker) （或类似工具如 Podman）的事件和标签
  动态更新上游组，无需
  服务器重载。
- 将 [proxy_cache_path](https://cn.angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-cache-path) 中的共享内存区域刷新到磁盘
  可在重启和更新之间保留缓存索引内容，
  从而消除缓存加载延迟并使服务器更快上线。
- [会话绑定](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-sticky) 模式，将一个会话内的所有请求
  定向到同一代理服务器。
- 使用 [server](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-server) 指令的 `slow_start` 选项
  在故障后平滑地重新启用上游服务器。
- 按比特率成比例地 [限制 MP4 文件传输速率](https://cn.angie.software//angie/docs/configuration/modules/http/http_mp4.md#mp4-limit-rate)，
  从而减少带宽负载。
- 通过 `stream` 下的 [mqtt_preread](https://cn.angie.software//angie/docs/configuration/modules/stream/stream_mqtt_preread.md#s-mqtt-preread) 指令
  扩展 MQTT 协议的授权和均衡功能。
- 通过 `stream` 下的 [rdp_preread](https://cn.angie.software//angie/docs/configuration/modules/stream/stream_rdp_preread.md#s-rdp-preread) 指令
  使用 RDP 协议的会话 cookie 为均衡决策提供信息。
- 使用
  [TongSuo](https://github.com/Tongsuo-Project/Tongsuo)
  TLS 库时的 NTLS [服务器](https://cn.angie.software//angie/docs/configuration/modules/http/http_ssl.md#ssl-ntls) 和 [客户端](https://cn.angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-ssl-ntls) 支持，
  在 [构建时](https://cn.angie.software//angie/docs/installation/sourcebuild.md#install-source-features) 启用。
- 为许多流行的第三方模块预构建的
  [二进制包](https://cn.angie.software//angie/docs/installation/external-modules/index.md#install-thirdpartymodules)。

---

<a id="index-features-pro"></a>

商业 Angie PRO 在
[公开可用功能](#index-features-oss) 的基础上增加了以下内容：

- 通过 RESTful 动态配置
  [API](https://cn.angie.software//angie/docs/configuration/modules/http/http_api.md#api-config) 管理代理服务器；
  可视化监控控制台 [Console Light](https://cn.angie.software//angie/docs/configuration/monitoring.md#monitoring)
  也可用于在浏览器中管理服务器。
- 通过发送定期 [探测请求](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream_probe.md#u-upstream-probe)
  主动检查代理服务器的状态。
- 基于代理服务器的 [平均响应时间](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-least-time)
  进行负载均衡，支持 [可自定义的平滑因子](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-response-time-factor)。
- [基于反馈](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-feedback) 的负载均衡，
  根据变量值选择对等节点；
  假设它来自对等节点本身，
  报告其 CPU 负载或其他指标。
- 请求等待队列，
  使用 `upstream` 块中的 [queue](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-queue) 指令配置。
- 附加绑定模式 [sticky learn](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-sticky)，
  支持在共享内存或外部存储中检测和存储客户端会话，
  从而允许在集群中加入多个均衡器。
- 在 HTTP 模块的 `upstream` 块中使用 [backup_switch](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-backup-switch) 指令
  允许备份服务器
  在主服务器再次可访问时继续处理请求。
- 条件性地 [将客户端连接绑定](https://cn.angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-bind-conn)
  到代理服务器连接，这也支持代理 NTLM。
- 代理模块中的缓存分片，支持根据响应的属性
  在 [位置](https://cn.angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-cache) 之间分配缓存。
- 错误页面和 `Server` 头字段中的服务器签名
  可以使用 [server_tokens](https://cn.angie.software//angie/docs/configuration/modules/http/index.md#server-tokens) 指令隐藏或覆盖。
