wasm

wasm 指令在 NGINX 中配置 WebAssembly 支持,使得可以使用 WebAssembly 模块来扩展功能。

语法wasm { module name path.{wasm,wat}; }
默认值none
上下文main
参数none

说明

The wasm 指令用于在 NGINX 中启用并配置 WebAssembly (Wasm) 支持,允许用户在 NGINX 服务器内嵌入 WebAssembly 运行时。该指令建立了一个用于加载和管理 Wasm 模块的上下文,这些模块可以在响应请求在服务器中遍历的各种 HTTP 事件和阶段时被执行。通过使用 wasm,开发者可以定义封装自定义逻辑的模块,并使用 proxy-wasm 动态地操控请求和响应,从而增强 Web 服务器的功能。

具体来说,用户可以将实现过滤器或其他处理逻辑的 Wasm 模块加载到 NGINX 中,使用诸如 Rust 或 Go 等语言编写。配置允许通过指定模块名称和到已编译 .wasm 文件的路径来声明多个 Wasm 模块。然后,可在 NGINX 的各种上下文中调用相应功能,例如在请求处理或访问阶段,从而通过自定义 WebAssembly 逻辑实现强大的可扩展性。

配置示例

wasm {
    module my_filter /path/to/filter.wasm;
    module my_module /path/to/module.wasm;
}

确保 Wasm 模块路径正确并且可被 NGINX 访问。

模块必须为预期的目标和 NGINX 版本正确编译。

调试 Wasm 模块可能需要在 NGINX 中启用调试日志。

← 返回所有指令