Angie PRO 版本历史#
2025#
Angie PRO 1.10.3#
发布日期:2025 年 11 月 13 日。 在 SMTP 模块中使用 当使用 acme_client 指令的 如果 ACME 客户端 在 如果所有 acme_client 指令都具有 如果 ACME 客户端 在位于 某些 通过 Docker 模块 添加到上游组的服务器未被主动探测监控。 流模块中 upstream_probe (PRO) 指令的 如果使用了 sticky 指令的 更新: angie-pro-module-cache-purge,至版本 2.5.4 angie-pro-module-cgi,至版本 v0.14.1 angie-pro-module-lua,至版本 0.10.29 angie-pro-module-njs,至版本 0.9.4安全#
none 认证方法时,处理特制的登录名/密码可能导致
工作进程内存泄露到认证服务器
(CVE-2025-53859);
该修复从 nginx 1.29.1 移植而来。错误修复#
renew_on_load 选项时,
如果先前获取的证书存在,则不会加载该证书。这可能会限制功能,
直到证书续期完成。如果证书不存在,尝试获取新证书将失败,
并显示错误 [alert] lseek() failed (9: Bad file descriptor)。stream 块中被引用,
但未在 http 块中引用,它将被禁用并显示警告 [warn] ACME
client ... is defined but not used,并且永远不会获取证书。enabled=off 参数,
并且在配置中使用了相关的 $acme_cert_* 变量,Angie 将无法启动,
并报告错误 [emerg] unknown acme_cert_* variable。http 块之前的 stream 块中使用,
则 Angie 无法启动,并报告错误 [emerg] ACME client .. is not defined but referenced。client 块配置在使用引用传入连接的变量时可能导致工作进程崩溃,
而在这种情况下该连接不存在。send= 参数在指定文件路径时,
对 UDP 探测工作不正确:发送的是路径而不是文件内容。learn 选项并重新加载配置,
timeout= 参数可能不会生效,直到至少创建一个新会话。软件包#
Angie PRO 1.10.2#
发布日期:2025 年 8 月 21 日。 启用 proxy_ignore_client_abort 以及使用 如果在上游组中预配置了单个服务器,通过 Docker API 添加的服务器
可能不会包含在负载均衡中。 如果上游组中唯一的服务器是通过 Docker API 添加的,
当检测到不可用时,它可能会被排除在负载均衡之外。 新增动态模块: 更新: angie-pro-module-opentracing,至版本 0.41.0错误修复#
http 块中的代理模块设置可能会破坏使用 client 块进行出站请求的模块的功能;
该错误出现在 1.10.0 版本中。client 块进行出站请求的模块
可能导致工作进程崩溃;该错误出现在 1.10.0 版本中。软件包#
Angie PRO 1.10.1#
发布日期:2025 年 7 月 17 日。 在 支持多个 当在 在 如果服务器上启用了 QUIC 协议 变更#
client 块中指定的指令现在只能被该块内显式声明的 location 块继承,
因此它们不会影响隐式使用 client 块进行出站请求的其他模块的配置。功能#
client 块,允许将不同 location 块的通用设置分组到每个块中,
从而减少配置重复。错误修复#
listen 指令中使用 reuseport 参数时,
到指定地址和端口的所有连接都由单个工作进程处理;该错误出现在 1.10.0 版本中。stream 粘性会话请求上下文之外访问特殊的 $stream_* 变量
会导致工作进程崩溃。retry 模式,使用 OpenSSL 库版本 3.5.0 或更高版本时,
与上游服务器的 HTTP/3 握手可能会失败。
Angie PRO 1.10.0#
发布日期:2025 年 7 月 3 日。 基于 Docker(或 Podman)容器标签自动检索和动态更新代理服务器组,
使用 docker_endpoint 指令配置。这使得能够通过指定的 Docker API 端点
实时监控容器启动和停止事件,并根据指定的标签将其地址添加到 在 将代理服务器组的 sticky 的新会话模式,其中会话仅存储在远程服务器上,
并始终从中检索。可以在代理模块中灵活配置远程服务器响应的缓存。 能够在主服务器组再次可用后保持备份 支持通过 MPTCP 协议接受连接,使用 listen 指令中的 新的 client 块,用于为各种模块发起的内部 HTTP 请求指定附加配置。 包含 nginx 1.27.5 的所有功能,
包括 QUIC 连接的 CUBIC 拥塞控制。 对于处于 更新: angie-pro-console-light,至版本 1.8.0 angie-pro-module-cgi,至版本 0.13 angie-pro-module-otel,至版本 0.1.2 2025 年 7 月 14 日 更新: angie-pro-module-headers-more,至版本 v0.39 angie-pro-module-njs、
angie-pro-module-njs-light,至版本 0.9.1功能#
upstream 列表
或从中删除,而无需重新加载配置。stream 模块中支持通过 ACME 协议自动获取 TLS 证书,
使用 acme 指令和 $acme_cert_* 及
$acme_cert_key_* 等变量进行配置。stream 会话与 HTTP 请求绑定到外部存储,
可通过 sticky 指令在 learn 模式下使用 remote_action、
remote_result 和 remote_uri 参数进行配置。这使得在集群环境中
客户端会话能够持久化到负载均衡的服务器,其中一组负载均衡器共享公共存储,
并在会话内将客户端请求路由到同一服务器,无论哪个均衡器接收到请求。sticky 指令(在 learn 模式下)的新参数 norefresh
禁用使用时的自动会话续期。stream 服务器处于活动状态,
使用 upstream 块中的 backup_switch permanent[=timeout] 指令。multipath 参数。
感谢 Maxim Dounin (freenginx)、Maxime Dourov 和 Anthony Doeraene。错误修复#
drain 模式的上游服务器,在根据被动健康检查再次可用后,
统计 API 中的停机计数器未停止。软件包#
Angie PRO 1.9.1#
发布日期:2025 年 5 月 29 日。 acme_dns_port 指令支持 IP 地址与端口号一起使用;IPv4 和 IPv6 均可使用。 在 server_name 指令中同时使用通配符域名和匹配的三级域名可能会导致 ACME 服务器在单个 ACME 客户端下为这些域名颁发证书时失败。 在 当 HTTP/3 请求可能会停滞并超时;该修复从 nginx 1.29.0 移植而来。 在与代理服务器建立 HTTP/3 连接时的早期错误可能会导致工作进程崩溃。 通过 HTTP/3 协议进行代理时,统计信息中的活动连接数可能显示不正确。 当处于 新增动态模块: 更新: angie-pro-module-auth-spnego,至版本 1.1.3 angie-pro-module-cgi,至版本 0.12.1 angie-pro-module-modsecurity,至版本 1.0.4 angie-pro-module-njs,至版本 0.9.0 angie-pro-module-opentracing,至版本 0.40.0功能#
错误修复#
stream 模块中,在被动检查期间成功连接到代理服务器后,其在统计 API 中的状态会错误地显示为 unavailable,直到会话结束。stream 模块中的代理服务器处于 unhealthy 状态时,统计 API 中的停机计数器可能会停止或被错误地重置。drain 模式的代理服务器变为不可用时,根据 proxy_next_upstream 和类似指令尝试连接到另一台服务器的操作可能不会发生。软件包#
Angie PRO 1.9.0#
发布日期:2025 年 4 月 11 日。 能够在 proxy_cache_path 指令中指定一个文件,用于在服务器启动之间保存包含缓存索引的共享内存区域的内容;这消除了重启后重新加载缓存的需要,并允许服务器几乎立即恢复在线。 在 HTTP 模块的 在 统计 API 中为上游对等节点新增 acme_hook 指令中的 acme_client 指令的 现在通过 nginx 1.27.4 的所有功能,除了 acme_client 指令中的 仅当在使用 在启用 NTLS 支持的构建中,带变量的 更新: angie-pro-module-cgi,更新至版本 0.11.1 angie-pro-module-njs,更新至版本 0.8.10功能#
upstream 块中使用 backup_switch permanent[=timeout] 指令,允许在主组服务器再次可访问时,备份服务器组保持活动状态。stream 模块中使用 ssl_early_data 指令支持 TLS 1.3 Early Data (0-RTT)。busy 状态,表示对等节点已达到 max_conns 选项配置的限制。uri= 参数允许重新定义钩子请求 URI 并支持变量。renew_on_load 参数允许在配置加载时强制更新证书。/status/angie 统计 API 对象的 build_time 字段以及 -V 命令行选项的输出显示构建时间。keepalive_min_timeout 指令(类似功能自 1.8.0 版本起已存在)。变更#
enabled=off 参数现在仅禁用给定客户端的证书更新,同时保留所有其他功能;密钥和证书(如果可用)可以通过 $acme_cert_* 变量访问,而使用 $acme_hook_* 变量和 acme 指令不会导致错误。acme 指令引用 ACME 客户端的 server 块中未找到有效(即符合 ACME 规范)的域名时,才会发出 no valid domain name defined for ACME client 错误。错误修复#
proxy_ssl_certificate 和 proxy_ssl_certificate_key 指令的继承未能正确工作。软件包#
Angie PRO 1.8.3#
发布日期:2025 年 4 月 2 日。 已更新: angie-pro-console-light,至版本1.7.0 angie-pro-module-cgi,至版本57f660bb2c6ef6e4b75c65406080d0236860ca08 angie-pro-module-jwt,至版本v3.4.3 angie-pro-module-ndk,至版本v0.3.4 angie-pro-module-opentracing,至版本v0.39.0 angie-pro-module-vts,至版本v0.2.4 2025年4月4日 更新: angie-pro-console-light,至版本1.7.1 2025年4月7日 更新: angie-pro-console-light,至版本1.7.2错误修复#
软件包#
Angie PRO 1.8.2#
发布日期:2025 年 2 月 13 日。 在处理带有TLSv1.3 SNI的虚拟服务器时验证不足,允许在不同虚拟服务器中重用SSL会话,从而绕过客户端SSL证书验证(CVE-2025-23419);该修复从nginx 1.27.4移植而来。 在 从通过变量设置的单个区域检索统计值的API请求可能导致工作进程进入无限循环。 HTTP/3请求未在区域统计中计数;该错误出现在1.8.0版本中。 使用QUIC协议的TLS握手未在SSL统计中计数。 在 server_name 指令中以点为前缀的服务器名称,通过 ACME协议 进行证书续期可能失败。安全#
错误修复#
stream 模块中使用 upstream_probe (PRO) 指令配置的主动探测可能导致工作进程崩溃。软件包#
2024#
Angie PRO 1.8.1#
发布日期:2024 年 12 月 28 日。 在HTTP模块的 HTTP/3流中的解码错误可能会在关闭QUIC连接时导致工作进程崩溃;该修复从nginx 1.27.4移植而来。 发送QUIC协议版本协商数据包可能会导致无限数据包交换循环;该修复从nginx 1.27.4移植而来。 在某些配置中,在 ACME模块 中使用不带钩子的DNS质询可能会导致工作进程崩溃。 更新: angie-pro-module-auth-jwt,至版本0.9.0 2025年1月23日 更新: angie-pro-console-light,至版本1.6.0 2025年1月27日 新增动态模块: 更新: angie-pro-console-light,至版本1.6.1 angie-pro-module-auth-spnego,至版本v1.1.2 angie-pro-module-headers-more,至版本v0.38 angie-pro-module-lua,至版本0.10.28 angie-pro-module-njs,至版本0.8.9 angie-pro-module-vts,至版本v0.2.3 angie-pro-module-wasm,至版本v0.2-beta2错误修复#
server 块中使用 status_zone 指令会导致在TLS握手时在 access_log 中过度记录空请求;该错误出现在1.8.0版本中。软件包#
Angie PRO 1.8.0#
发布日期:2024 年 12 月 19 日。 通过请求外部存储为一组代理服务器实现HTTP会话绑定,可通过 sticky 指令在 通过处理来自ACME服务器的DNS查询来支持 ACME模块中的钩子系统,可使用 acme_hook 指令进行配置,允许使用外部应用程序处理域名验证,以提供与各种服务和DNS托管提供商的集成。 ACME模块记录一些额外信息:证书续期的具体原因、完整的域名列表、客户端账户ID、长时间不活动期(例如轮询)以及正在验证的域名;这些信息简化了故障排查,并允许指定CAA DNS记录。 acme_client 指令的 在stream和HTTP模块的 status_zone 指令中支持变量,允许在单个 GZip HTTP压缩模块与 max_headers 指令,用于限制HTTP请求头字段的数量,以更好地防御DoS攻击。感谢Maxim Dounin(freenginx)和Maksim Yevmenkin。 http3_max_table_capacity 和 proxy_http3_max_table_capacity 指令,用于配置HTTP/3动态头压缩表限制。 交叉编译支持 - 构建系统现在可以使用包装脚本来运行自动测试,这使得可以在不直接在目标平台上运行测试程序的情况下准备构建。 nginx 1.27.3 的所有功能。 使用 在 proxy_pass 指令中使用变量且未指定 使用动态表的HTTP/3上游如果与缓存一起使用可能导致工作进程崩溃。 某些SSL握手可能未在 在 启用NTLS支持时,通过HTTP/3代理时 proxy_ssl_certificate 指令不起作用。 在优雅关闭旧工作进程时,保持活动连接现在仅在 lingering_timeout 指令指定的超时时间到期后才关闭;此行为允许避免在此时接收响应时可能出现的客户端错误。感谢Maxim Dounin(freenginx)。 禁用了 新增动态模块: 更新: angie-pro-module-auth-jwt,至版本0.8.0 angie-pro-module-jwt,至版本3.4.2 angie-pro-module-njs,至版本0.8.8 angie-pro-module-opentracing,至版本0.38.0 angie-pro-module-wasm,至版本0.1-beta5功能特性#
learn 模式下使用 remote_action 和 remote_result 参数进行配置;这允许在集群模式下配置客户端会话与负载均衡服务器的绑定,当一组负载均衡器通过共享存储统一管理时,可将一个会话内的客户端请求定向到同一台服务器,无论它们命中哪个负载均衡器。DNS-01 验证,这允许自动请求任何类型的证书,包括通配符证书。account_key 参数,允许为ACME服务器账户重用现有密钥,而不是自动生成新密钥。location 或 server 块中动态统计多个区域的数据;特别是当单个 server 块处理多个虚拟主机时非常有用。zlib-ng 2.2.0及更高版本的兼容性,之前可能会在错误日志中导致 [alert] gzip filter failed to use preallocated memory 消息。错误修复#
0-RTT 时HTTP/3客户端可能超时;该错误在1.7.0版本中从nginx继承而来。upstream 块的情况下使用HTTP/3代理可能导致工作进程崩溃。stream 模块的统计信息中计数。http 或 server 级别指定的HTTP/3代理设置可能被忽略。变更#
stream 模块变量 $ssl_server_name、$ssl_server_cert_type、$ssl_preread_protocol 和 $ssl_preread_server_name 的缓存,这允许在使用虚拟服务器时获取实际值。软件包#
Angie PRO 1.7.0#
发布日期:2024 年 9 月 19 日。 当代理服务器从组中移除时强制关闭所有到该服务器的连接;可通过 proxy_connection_drop、grpc_connection_drop、fastcgi_connection_drop、scgi_connection_drop 和 uwsgi_connection_drop 指令进行配置,其值可以通过服务器移除的 API请求 的 解析器统计API中发送的DNS查询类型计数器,通过 resolver 指令的 feedback (PRO) 负载均衡现在可以在 feedback (PRO) 指令的 feedback (PRO) 负载均衡方法现在接受浮点数作为变量值。 least_time (PRO) 指令的 least_time (PRO) 指令的 $ssl_server_cert_type 变量,包含为接收的TLS连接选择的证书类型。 使用 pid 指令的 通过中间临时文件使PID文件的创建具有原子性,这消除了文件已在目录中但仍为空的时刻,并允许外部程序更容易、更可靠地处理它。 现在,在重新配置期间,如果 pid 指令中的名称已更改但通过符号链接指向同一文件,则不会尝试重新创建PID文件;特别是,这允许避免在从 Syslog日志记录 错误现在每秒报告不超过一次;这有助于避免在syslog服务器宕机或过载时用此类消息淹没日志。感谢Maxim Dounin(freenginx)。 在Mail代理模块中,使用 max_commands 指令配置的身份验证期间的最大命令数受到限制,以更好地防御DoS攻击。感谢Maxim Dounin(freenginx)。 ./configure 脚本的 --feature-cache 选项,用于缓存其结果,以便在构建多个模块或交叉编译时进行优化。 nginx 1.27.1 的所有功能。 由 queue (PRO) 指令配置的排队请求的等待超时可能导致工作进程崩溃。 使用 systemd 启动时可能出现 根据RFC 9110更新了HTTP状态码的描述。感谢Maxim Dounin(freenginx)和Michiel W. Beijen。 现在HTTP请求之前最多允许一个空行,以更好地防御DoS攻击。感谢Maxim Dounin(freenginx)。 现在禁止末尾没有冒号的HTTP/1.x头字段名称;来自客户端或代理服务器的此类无效头字段现在将导致错误响应。感谢Maxim Dounin(freenginx)和Maksim Yevmenkin。 使用HTTP/1.1分块传输编码读取请求体时,忽略的块扩展和尾部头字段的总大小现在受 client_max_body_size 指令限制,以更好地防御DoS攻击。感谢Maxim Dounin(freenginx)和Bartek Nowotarski。 更新: angie-pro-module-opentracing,至版本0.36.0 angie-pro-module-lua,至版本0.10.27 2024年10月24日 为 SberLinux 添加了软件包。功能特性#
connection_drop 参数在本地覆盖。status_zone 参数收集。stream 模块中使用;它根据指定的变量分配TCP/UDP会话,该变量可以从代理的上游服务器或对外部服务的定期请求中获取。这允许根据代理服务器的任意指标(如资源消耗、CPU/内存利用率和队列长度)进行动态负载均衡。last_byte 选项,允许在接收到整个响应后处理上游服务器反馈,而不仅仅是头部。account 参数,允许使用变量指定哪些请求被考虑用于 least_time 负载均衡,包括仅考虑 upstream_probe (PRO) 请求。factor 参数,允许为 least_time 负载均衡器指定可调整的平滑因子,并覆盖用于统计收集的 response_time_factor (PRO) 的值。drain 模式,将代理的stream服务器切换到新的 draining 状态,此时仅将使用 sticky 模块绑定的请求发送到该服务器。off 参数禁用PID文件的创建,这在使用不可变镜像和服务管理器直接控制时可能有益。感谢Maxim Dounin(freenginx)。/var/run/angie.pid 迁移到 /run/angie.pid 的系统上出现问题。感谢Maxim Dounin(freenginx)。错误修复#
PID file ... not readable (yet?) after start 和 Failed to parse PID from file... 错误。感谢Maxim Dounin(freenginx)。变更#
mime.types 配置文件中的MIME类型已更改:bmp 扩展名改为 image/bmp,rar 扩展名改为 application/vnd.rar;deb 和 udeb 扩展名设置为 application/vnd.debian.binary-package。感谢Yuriy Izorkin。软件包#
Angie PRO 1.6.2#
发布日期:2024 年 8 月 16 日。 使用 ngx_http_mp4_module 处理特制的MP4文件可能导致工作进程崩溃(CVE-2024-7347);该修复从nginx 1.27.1移植而来。安全#
Angie PRO 1.6.1#
发布日期:2024 年 8 月 8 日。 stream 模块的 status_zone 指令配置的
API 统计 区域中新增 更新: angie-pro-console-light,至 1.4.0 版本 angie-pro-module-opentracing,至 0.35.3 版本 angie-pro-module-zstd,至修订版 功能#
passed 计数器,
用于跟踪使用 pass 指令传递到其他监听套接字的连接。缺陷修复#
软件包#
f4ba115
Angie PRO 1.6.0#
发布日期:2024 年 6 月 28 日。 基于指定变量值的 HTTP 请求负载均衡,
该变量值可从代理服务器获取或通过定期轮询外部服务获取,
使用 upstream 块中的 feedback 指令进行配置;
这特别允许根据代理服务器的任意指标动态重新分配负载:
各种资源消耗、CPU/内存利用率、队列长度等。 stream 模块的 upstream 块中的
sticky 指令及相关设置,
允许配置会话持久性模式,
其中会话内的所有连接都路由到同一服务器。 使用 stream 模块的 rdp_preread 指令
从 RDP 连接中提取 Cookie 值到 $rdp_cookie 和
$rdp_cookie_NAME 变量中,
这允许在负载均衡时记录日志并将 RDP 客户端会话绑定到同一服务器。 upstream_probe 指令的 命令行选项 $upstream_probe 变量,
包含由 upstream_probe 发出的当前活动探测的名称。 nginx 1.27.0 的所有功能,
包括 stream 模块中的虚拟服务器支持
和 在某些配置上,主动 upstream_probe 探测可能无法工作,
同时记录类似 在某些配置上,通过 ACME 协议请求证书可能失败,
并记录类似 通过 ACME 协议请求包含大量域名的证书可能失败,
并记录类似 在配置了多个 error_log 指令的情况下,
ACME 客户端可能将消息输出到错误的日志中。 更新: angie-pro-module-auth-jwt,至 0.7.0 版本 angie-pro-module-auth-ldap,至修订版 angie-pro-module-jwt,至 3.4.1 版本 angie-pro-module-keyval,至 0.3.0 版本 angie-pro-module-lua:
angie-pro-module-njs,至 0.8.5 版本功能#
persistent 选项,
允许在配置重新加载后,对先前健康的服务器避免等待 essential 探测通过。-m 和 -M,
用于显示内置和已加载模块的列表。pass 指令,
该指令允许将接受的连接传递给其他监听套接字进行处理,
包括 HTTP 和 Mail 模块。缺陷修复#
[alert] getsockname() failed (9: Bad file descriptor) 的错误消息。[alert] getsockname() failed (9: Bad file descriptor) 的日志消息。[error] JSON parser error 的日志消息。软件包#
241200estream_lua_module,至修订版 bea8a0c
Angie PRO 1.5.2#
发布日期:2024 年 6 月 3 日。 使用 HTTP/3 时,处理特制的 QUIC 会话可能导致工作进程崩溃,在 MTU 大于 4096 字节的系统上可能导致工作进程内存泄露,或有其他影响(CVE-2024-32760,
CVE-2024-31079,
CVE-2024-35200,
CVE-2024-34161);
修复已从 nginx 1.26.1 移植。 更新: angie-pro-module-opentracing,版本 0.35.2安全性#
软件包#
Angie PRO 1.5.1#
发布日期:2024 年 5 月 16 日。 当通过 API 编辑一组代理服务器时, 在通过 ACME 协议请求证书时,可能会在工作进程中发生段错误。 在 在 stream 模块中代理 TCP 连接时,slow_start 机制未能正常工作。 如果以 TLS 1.3 提前数据的形式接收,HTTP/3 请求可能导致错误;此错误在 1.4.0 中出现。 在使用 QUIC 的 0-RTT 时,HTTP/3 连接可能会被过早关闭。 从快速连接读取请求体时,可能会长时间读取。感谢 Maxim Dounin (freenginx)。 现在 ACME 客户端不会丢弃之前存储的过期或为不同域名列表颁发的证书,而是在续订时使用它们。 2024年5月27日 为 Alpine 3.20 添加了软件包。错误修复#
proxy_next_upstream 机制未能正常工作,并且当在 HTTP 块中的 server 指令使用 resolve 选项时,如果解析的 IP 地址数量与指定服务器的数量不同。learn 模式下的 sticky 指令在指定的 lookup 和 create 变量数量不同的情况下可能会不正确地工作。变更#
软件包#
Angie PRO 1.5.0#
发布日期:2023 年 10 月 18 日。 基本支持使用 ACME 协议 自动获取和更新证书,
可通过 acme_client 和 acme 指令进行配置,
以及形如 $acme_cert_= 和
$acme_cert_key_= 的变量。 通过 auto_redirect 指令配置自动重定向,为请求 URI 添加尾部斜杠。 输出 统计指标 时使用 Epoch 格式的日期而非 ISO 8601 格式,
以便在 Prometheus 中使用,并可选择在 JSON API 中使用 现在 nginx 1.25.4 的所有功能。 如果使用 SSL 会话重用机制 proxy_ssl_session_reuse 并且代理服务器列表被动态更新,
可能会在为相应的 为 FreeBSD 13 (arm64) 和 RED OS 8 (x86-64) 添加了软件包。 新增动态模块: 更新: angie-pro-module-opentracing,版本更新至 0.34.0 2024年3月28日 更新: angie-pro-console-light,版本更新至 1.3.0 2024年4月16日 新增动态模块: 更新: angie-pro-module-njs,版本更新至 0.8.4 2024年4月25日 新增动态模块: angie-pro-module-vts:包含
module-vts,
module-sts,
module-stream-sts安全#
drain 模式,将代理的 HTTP 服务器切换到新的 draining 状态,
此时只有使用 sticky 模块绑定的请求才会发送到该服务器。?date-epoch 请求参数。-V 开关也会显示相关的 nginx 版本,这对于与第三方工具(特别是 certbot)
的兼容性很有用。感谢 AdvTechnoKing。错误修复#
upstream 块配置的共享内存区域中发生泄漏。软件包#
Angie PRO 1.4.1#
发布日期:2024 年 2 月 15 5日。 使用 HTTP/3 时,处理特制的 QUIC 会话时可能在工作进程中发生段错误
(CVE-2024-24989);
请注意,Angie PRO 自 1.4.0 起已不再易受
CVE-2024-24990 的影响。 添加了动态模块: 更新: angie-pro-module-njs,版本 0.8.3 angie-pro-module-vod,版本 1.33功能#
软件包#
2023#
Angie PRO 1.4.0#
发布日期:2023 年 12 月 21 日。 支持在 HTTP proxy module 中建立 HTTP/3 连接到上游服务器,同时允许客户端使用任意 HTTP 版本。配置通过 proxy_http_version 指令及一组 upstream_probe (PRO) 指令用于通过定期创建测试连接或发送数据报来检查 stream 模块中服务器的健康状况。 sticky 指令的附加 等待队列用于无法首次尝试负载均衡的请求,通过在 HTTP 模块的 HTTP RESTful JSON interface 用于在 stream 模块的 通过平均建立连接时间、接收响应的第一个或最后一个字节的时间,对代理的 stream upstream 服务器进行负载均衡,使用 least_time (PRO) 和 response_time_factor (PRO) 指令在 通过 api 指令提供的接口,获取代理的 stream upstream 服务器的平均建立连接时间、接收响应的第一个和最后一个字节的统计信息,并能够通过 使用 mqtt_preread 指令在 stream 模块中,允许从 MQTT 协议的 CONNECT 数据包中提取用户名和客户端 ID 到 $mqtt_preread_username 和 $mqtt_preread_clientid 变量中。 通过 mp4_limit_rate 和 mp4_limit_rate_after 指令,按比特率限制传输到客户端的 MP4 文件的响应速率,从而减少带宽负载。 nginx 1.25.3 的所有功能。 如果代理服务器是组中的唯一服务器,可能会在 statistics API 中错误地报告为 现在代理服务器处于 标准 prometheus_all.conf 模板包括所有额外的 Prometheus 指标和仅由 PRO 版本公开的可能 为 Alpine 3.19 添加了软件包。 更新: angie-pro-console-light,版本 1.2.0 angie-pro-module-auth-jwt,版本 0.4.0 angie-pro-module-headers-more,版本 0.36 angie-pro-module-ndk,版本 0.3.3 angie-pro-module-opentracing,版本 0.33.0 2023年12月25日 更新: angie-pro-console-light,版本 1.2.1 2024年1月22日 添加了动态模块: 更新: angie-pro-module-auth-jwt,版本更新至 0.6.0 angie-pro-module-headers-more,版本更新至 0.37 angie-pro-module-lua:
功能#
proxy_quic_ 和 proxy_http3_ 指令完成。learn 模式,用于将会话绑定到代理服务器,允许发现会话并将其保存在服务器的共享内存中。upstream 块中使用 queue (PRO) 指令配置。upstream 块中重新配置、添加或删除服务器,以及用于持久化这些更改的 state 指令。upstream 块中进行可调平滑因子。upstream 块的 response_time_factor (PRO) 指令调整平均平滑因子。slow_start 选项,在 upstream 块中的 server 指令中平滑地将代理服务器上线,经过故障后。错误修复#
unavailable,即使在恢复后也是如此。变更#
checking 状态的时间不计入 downtime。state 值。软件包#
http_lua_module,版本更新至 0.10.26;
stream_lua_module,版本更新至 0.0.14
Angie PRO 1.3.2#
发布日期:2023 年 11 月 23 日。 带有 Prometheus 输出中使用 如果某些连接上游服务器的尝试立即失败,可能未在 统计 API 中正确计数;
该错误出现在 1.3.0 版本中。 2023 年 12 月 4 日 新增动态模块: 2023 年 12 月 7 日 更新: angie-pro-console-light,更新至版本 1.1.1 2023 年 12 月 12 日 新增动态模块: 更新: angie-pro-module-auth-jwt,更新至版本 0.4.0 angie-pro-module-headers-more,更新至版本 0.36 angie-pro-module-ndk,更新至版本 0.3.3 angie-pro-module-opentracing,更新至版本 0.33.0错误修复#
essential 标志的主动 健康探测
在初始检查失败时未正确处理服务器从 checking 到 unhealthy 的转换,
导致用户请求被路由到故障服务器。$p8s_value 以外的变量作为值的指标
可能出现不正确的值;实际上该问题可能出现在标准 prometheus_all.conf 模板中的
angie_http_upstreams_peers_state 和 angie_stream_upstreams_peers_state。软件包#
Angie PRO 1.3.1#
发布日期:2023 年 10 月 18 日。 为 HTTP/2 流处理添加了额外的限制,以更好地防御被称为 "HTTP/2 Rapid Reset" 的 DoS 攻击
(CVE-2023-44487)。 2023 年 10 月 26 日 新增动态模块: 2023 年 11 月 13 日 新增动态模块: 更新: angie-pro-console-light,更新至版本 1.1.0 angie-pro-module-headers-more,更新至版本 0.35 angie-pro-module-njs,更新至版本 0.8.2 angie-pro-module-vod,更新至版本 1.32安全#
软件包#
Angie PRO 1.3.0#
发布日期:2023 年 10 月 3 日。 能够在 根据从代理 HTTP 服务器接收响应头或完整响应的平均时间进行负载均衡,
具有可调的平滑因子,使用 以 Prometheus 格式导出各种统计指标,使用新的 prometheus 和
prometheus_template 指令进行灵活的模板配置。 在 api 指令提供的接口中显示代理 HTTP 服务器接收响应头和完整响应的平均时间统计,
能够通过 stream 模块的 stream 模块的 支持使用 http 模块的 通过 api 指令提供的接口访问当前工作进程使用的配置文件内容,
需要启用 api_config_files 指令。 在进程标题中显示 配置代数 编号,
允许使用 nginx 1.25.2 的所有功能。 现在在加载 OpenSSL 配置时使用应用名称 更新: angie-pro-module-njs,更新至版本 0.8.1功能特性#
location 指令中指定多个匹配模式,
允许 组合 多个具有相似设置的 location 块,
从而通过减少重复来简化配置。upstream 块中的
least_time (PRO) 和 response_time_factor (PRO) 指令。upstream 块的 response_time_factor (PRO) 指令调整平均平滑因子。upstream 块中
server 指令的 resolve 选项,
允许监控与域名对应的 IP 地址列表的变化,并自动更新它而无需重新加载配置。upstream 块中
server 指令的 service 选项,
允许从 DNS SRV 记录中检索地址列表,并提供基本的优先级支持。upstream 块中的
bind_conn (PRO) 指令将客户端连接绑定到后端服务器连接,
特别适用于代理使用 NT LAN Manager (NTLM) 身份验证的连接。ps 工具监控配置重新加载的成功情况以及先前工作进程代数的数量。变更#
angie。软件包#
Angie PRO 1.2.0#
发布日期:2023 年 8 月 15 日。 用于重新配置、添加或删除 HTTP 模块的 upstream
块中服务器的 HTTP RESTful JSON 接口,
以及用于持久化这些更改的 state 指令。 upstream_probe (PRO) 指令,通过定期发送探测请求来检查
HTTP 模块的 upstream 块中服务器的健康状况。 HTTP 代理模块中的缓存分片支持,
可以根据任意响应参数将响应缓存到不同的目录(驱动器)中,
通过 proxy_cache 指令的新 在使用 TongSuo TLS 库时,
HTTP 模块中的 NTLS 支持;
可以通过 在 HTTP 代理模块中,
能够使用 proxy_ssl_certificate 和 proxy_ssl_certificate_key 指令
指定多个不同类型(RSA 和 ECDSA)的证书及相应的密钥。 在 gzip 模块能够压缩 "207 Multi-Status" 响应。
感谢 DBotThePony。 nginx 1.25.0 的所有功能,
包括 HTTP/3 支持。 $upstream_sticky_status 变量值现在为大写,
以与 $upstream_cache_status 值的风格保持一致。功能特性#
path- 选项使用变量进行配置。‑‑with‑ntls 构建时选项启用该支持,
并使用相应的 ssl_ntls 和 proxy_ssl_ntls 指令进行配置。master 进程标题中显示版本和构建名称,
这允许使用 ps 工具获取正在运行的服务器实例的此信息。变更#
软件包#
Angie PRO 1.1.0-p1#
发布日期:2023 年 3 月 1 日。 HTTP 模块的 upstream 块中的
sticky 指令及相关选项,允许配置会话保持模式,
其中会话的所有请求都路由到同一服务器。 $upstream_sticky_status 变量,根据启用会话保持时请求相关上游服务器的成功情况,
可以是 功能特性#
NEW、HIT 或 MISS。
Angie PRO 1.1.0#
发布日期:2023 年 2 月 7 日。 api 指令,提供 HTTP RESTful 接口,
以 JSON 或 Prometheus 格式访问 Web 服务器实例的基本信息,
以及客户端连接、共享内存区域、DNS 查询、HTTP 请求、HTTP 响应缓存、
stream 模块的 TCP/UDP 会话、
limit_conn/limit_req 模块的区域
和 HTTP 上游服务器组 的 指标。 HTTP 模块的 upstream 块中
server 指令的 resolve 选项,
允许监控与域名对应的 IP 地址列表的变化,并自动更新它而无需重新加载配置。 HTTP 模块的 upstream 块中
server 指令的 service 选项,
允许从 DNS SRV 记录中检索地址列表,并提供基本的优先级支持。 HTTP 模块中的 status_zone 指令,
用于在 server 和 location 上下文中指定区域以收集请求指标。 stream 模块中的 status_zone 指令,
用于指定区域以收集 TCP/UDP 会话指标。 resolver 指令的 status_zone 参数,
用于指定区域以收集 DNS 查询指标。 autoindex 对目录列表使用自然排序顺序。 通过 server_tokens 指令任意配置默认错误页面上的签名和
$angie_version 变量,包含 Angie 的版本。 nginx 1.23.3 的所有功能。 2023 年 4 月 7 日 新增 ALT Linux 软件包。 2023 年 5 月 12 日 2023 年 5 月 26 日 新增 Astra Linux Special Edition 软件包。 2023 年 6 月 13 日 新增 Debian 12 "Bookworm" 和
AlmaLinux 软件包。 2023 年 7 月 12 日 新增动态模块: 更新: angie-pro-module-njs,更新至版本 0.8.0 2023 年 7 月 31 日 新增动态模块:功能特性#
Server 响应头字段。软件包#