内置模块#

本指南描述了Angie的内置模块,提供了配置示例,列出了它们的指令和参数,以及内置变量。

核心模块#

Core

负责管理服务文件、进程和其他Angie模块。

HTTP模块#

HTTP

处理HTTP请求和响应的核心功能,管理HTTP服务器、连接和静态文件。

Access

基于IP和CIDR范围的访问控制。

ACME

使用ACME协议自动获取SSL证书。

Addition

在响应体之前或之后插入预定义的代码片段。

API

RESTful HTTP接口,用于以JSON格式获取有关Web服务器及其统计信息的基本信息,以及管理代理服务器组。

Auth Basic

基于用户名和密码的基本HTTP身份验证。

Auth Request

通过向外部HTTP服务的子请求进行授权。

AutoIndex

自动目录列表,无需索引文件。

Browser (已弃用)

基于 User-Agent 头的浏览器识别。

Charset

响应编码的配置和转换。

DAV

使用WebDAV协议进行服务器上的文件管理。

Empty GIF

提供一个透明的一像素GIF。

FastCGI

将请求代理到FastCGI服务器。

FLV

Flash视频(FLV)文件的伪流式传输。

Geo

将IP地址转换为预定义的变量值。

GeoIP

使用MaxMind GeoIP数据库通过地理定位检索IP地址数据。

gRPC

将请求代理到gRPC服务器。

GunZIP

解压缩压缩的GZip响应以进行修改或在客户端不支持压缩的情况下。

GZip

使用GZip方法压缩响应以节省流量。

GZip Static

提供使用GZip方法预先压缩的静态文件。

Headers

修改响应头字段。

HTTP2

使用HTTP/2协议处理请求。

HTTP3

使用HTTP/3协议处理请求。

Image Filter

图像转换。

Index

配置索引文件,以处理带有尾部斜杠(/)的请求。

JS

扩展功能的处理程序,通过在njs(一种JavaScript语言的子集)中实现附加逻辑。

Limit Conn

限制并发请求(活动连接)的数量,以防止过载。

Limit Req

限制请求速率,以防止过载和密码猜测。

Log

配置请求日志以跟踪资源访问,以便进行监控和分析。

Map

根据预定义的键值对转换变量。

Memcached

从Memcached服务器检索响应。

Mirror

将请求镜像到其他服务器。

MP4

MP4文件的伪流式传输。

Perl

扩展功能的处理程序,通过在Perl语言中实现附加逻辑。

Prometheus

以Prometheus兼容格式提供服务器指标,以便进行监控和统计收集。

Proxy

将请求反向代理到其他HTTP服务器。

Random Index

随机选择带有尾部斜杠(/)的请求的索引文件。

RealIP

在另一个代理服务器后运行时,识别客户端地址和端口。

Referer

Referer 头值验证。

Rewrite

条件URI修改、重定向、变量设置和配置选择。

SCGI

将请求代理到SCGI服务器。

Secure Link

创建安全链接,并能够限制访问时间。

Slice

将请求拆分为多个子请求,以便更好地缓存大型响应。

Split Clients

为A/B测试、金丝雀发布、分片和其他需要比例分组的场景创建变量。

SSI

处理响应中的SSI(服务器端包含)命令。

SSL

SSL/TLS配置以处理HTTPS请求。

Stub Status (已弃用)

以文本格式提供全局连接和请求计数器。

Sub

在服务器响应中搜索和替换代码片段。

Upstream

配置用于负载均衡的代理服务器组。

Upstream Probe

配置用于代理服务器组的健康探测。

UserID

发布和处理唯一客户端标识符cookie,用于会话跟踪和分析。

uWSGI

将请求代理到uWSGI服务器。

XSLT

使用XSLT样式表进行XML转换。

流模块#

Stream

基本流服务器功能,用于在L4级别平衡TCP和UDP协议。

Access

基于IP和CIDR范围的访问控制。

Geo

将IP地址转换为预定义的变量值。

GeoIP

使用MaxMind GeoIP数据库通过地理定位检索IP地址数据。

JS

扩展功能的处理程序,通过在njs(一种JavaScript语言的子集)中实现附加逻辑。

Limit Conn

限制并发请求(活动连接)的数量,以防止过载。

Log

配置请求日志以跟踪资源访问,以便进行监控和分析。

Map

根据预定义的键值对转换变量。

MQTT Preread

在做出负载均衡决策之前,从MQTT连接中读取客户端标识符和用户名。

Pass

配置将接受的连接直接传递到配置的监听套接字。

Proxy

配置代理到其他服务器。

RDP Preread

在做出负载均衡决策之前,从RDP连接中读取cookie。

RealIP

在另一个代理服务器后运行时,识别客户端地址和端口。

Return

在连接时向客户端发送指定值,而不进行进一步代理。

Set

设置预定义的变量值。

Split Clients

为A/B测试、金丝雀发布、分片和其他需要比例分组的场景创建变量。

SSL

终止SSL/TLS和DTLS协议。

SSL Preread

在做出负载均衡决策之前,从 ClientHello 消息中提取信息,而不终止SSL/TLS。

Upstream

配置用于负载均衡的代理服务器组。

Upstream Probe

配置用于代理服务器组的健康探测。

邮件模块#

Mail

基本邮件代理服务器功能。

Auth HTTP

用户身份验证和后续代理的服务器选择,通过HTTP请求到外部服务器。

IMAP

对IMAP协议的支持。

POP3

对POP3协议的支持。

Proxy

配置代理到其他服务器。

RealIP

在另一个代理服务器后运行时,识别客户端地址和端口。

SMTP

对SMTP协议的支持。

SSL

对SSL/TLS和StartTLS协议的支持。

Google PerfTools模块#

Google PerfTools

与Google性能工具库集成,用于应用程序分析和性能分析。

WASM模块#

WASM

基本WASM功能,以便在Angie中运行WASM代码。

WAMR

WebAssembly Micro Runtime 集成。

Wasmtime

与`Wasmtime <https://wasmtime.dev/>`__ 运行时集成。