# 更新日志(6.0.x)
本文件的格式基于如何维护更新日志 (opens new window), 并且本项目遵守语义化版本 (opens new window)。
何为「不兼容的修改」?
- 原有的配置文件可能无法使用,比如删除或者重命名了某个配置项。
- 可能需要更新编译环境,比如安装新的依赖。
# [6.0.3] - 2021-08-02 UTC+0800
# 修复
- 释放虚拟机资源时可能会引起段错误。
# [6.0.2] - 2021-08-01 UTC+0800
# 修复
- 未能正确继承上层配置中的 URL 和 Referer 的白名单。
# [6.0.1] - 2021-07-30 UTC+0800
# 弃用
- 弃用了
waf_cache
配置的interval
和percent
参数,但并未将它们删除,只是它们不再有任何作用。这两个参数会在后续的某个版本删除。
# 变动
- 提升了 CC 防护的性能。
# 修复
- 极端情况下可能会造成大量的内存浪费,感谢 @RekGRpth (opens new window)。
# [6.0.0] - 2021-07-21 UTC+0800
# 注意
本次更新有一些不向下兼容的改动。
高级规则的执行速度较慢,因为其原理是将规则编译成一系列指令,然后由虚拟机执行。
# 预构建模块
现在我们提供了提前编译好的模块,只要满足了下列要求即可使用。
- nginx 的版本必须是最新的 stable 或 mainline 版本。
- 您使用的 C 语言的标准库实现必须是 GNU 实现或者 musl 实现。
下载脚本会自动检查是否满足第二个条件。
您可以执行 assets/download.sh
来下载对应版本的模块并保存到当前目录。下面是用例。
# nginx-stable ngx_waf-stable
sh assets/download stable stable
# nginx-mainline ngx_waf-stable
sh assets/download mainline stable
# nginx-stable ngx_waf-beta
sh assets/download stable beta
# nginx-mainline ngx_waf-beta
sh assets/download mainline beta
每次更新都需要花费约一个半小时的时间来编译模块,所以推荐在更新超过两个小时后再下载更新后的模块,否则可能会下载到旧的模块。
# 从 5.x.x 升级到 6.x.x
- 在规则目录下新建一个名为
advanced
的空文件。 - 如果使用了配置项
waf_priority
,可以将其删除或者按照文档中对该配置项的说明进行修改。
# 新增
- 支持了高级规则,详情见文档。
# 移除
- 移除
COMPAT
模式,不再完全兼容ngx_http_rewrite_module
。
# 变动
更新了配置项
waf_priority
,详情见文档。现在你可以在
http
、server
和location
块中使用本模块的所有配置项。