module
module 指令定义在 NGINX 中使用的 WebAssembly 模块,使得可以在 NGINX 的处理流程中执行自定义业务逻辑。
Proxy-Wasm support for Nginx powered by wasmtime
语法module name path.to.module.{wasm|wat};
默认值none
上下文
参数2-3
说明
module 指令用于 NGINX 的 wasm 块中,表示包含可扩展 NGINX 功能的 WebAssembly 模块。该指令的每个实例指定一个唯一的名称,后跟 WebAssembly 二进制文件 (.wasm) 或文本文件 (.wat) 的路径。当 NGINX 服务器启动时,它会编译并实例化指定的模块,使其可在代理过滤或请求处理的其他阶段使用。
第一个参数是 name,作为 NGINX 配置中对模块的引用标识。第二个参数是加载模块所需的 WebAssembly 文件的路径。可选的第三个参数可用于指定附加选项,但这种用法不常见。模块成功加载后,可以实现由 WebAssembly 代码定义的特定功能或逻辑,从而增强 NGINX 服务器的能力,例如流量管理、数据转换或自定义日志记录。
必须确保指定的路径正确,并且 WebAssembly 模块不会违反 Proxy-Wasm 标准所期望的 ABI (Application Binary Interface),否则可能导致运行时失败或 NGINX 操作中的错误行为。
配置示例
wasm {
module my_filter /path/to/my_filter.wasm;
module my_module /path/to/my_module.wat;
}⚠
确保 WebAssembly 文件的路径正确并且可被 NGINX 用户访问。
⚠
模块应遵循 Proxy-Wasm ABI,以防止运行时错误。
⚠
调试时,确保所使用的 NGINX 构建已启用调试支持。