基于 wasmtime 的 Nginx WebAssembly

45 — 所有核心与模块指令——语法、默认值、上下文与真实配置示例。 · 模块指南 →

backtraces 'backtraces' 指令启用针对在 NGINX 中使用的 Wasm 模块错误的详细堆栈跟踪日志记录。 cache_config `cache_config` 指令允许用户在 NGINX Proxy-Wasm 模块中定义缓存配置。 compiler `compiler` 指令指定在 NGINX 的 Proxy-Wasm 支持中用于构建模块的 WebAssembly 编译器。 flag NGINX Proxy-Wasm 模块中的 `flag` 指令用于在执行期间为 WebAssembly 模块设置特定的行为标志。 ipc NGINX 中的 ipc 指令为 WebAssembly 模块配置进程间通信设置。 main max_metric_name_length 指令 `max_metric_name_length` 设置 NGINX WebAssembly 模块中指标名称的最大允许长度。 metrics metrics 指令允许 NGINX Proxy-Wasm 模块在运行期间定义并记录指标。 module module 指令定义在 NGINX 中使用的 WebAssembly 模块,使得可以在 NGINX 的处理流程中执行自定义业务逻辑。 proxy_wasm `proxy_wasm` 指令将 WebAssembly 模块集成到 NGINX 的请求处理管道中。 httpserverlocation proxy_wasm_isolation `proxy_wasm_isolation` 指令定义了在 NGINX 的代理环境中执行 WebAssembly (Wasm) 模块的隔离级别。 httpserverlocation proxy_wasm_log_dispatch_errors 指令 `proxy_wasm_log_dispatch_errors` 启用在分发期间对 WebAssembly 代理失败的错误日志记录。 proxy_wasm_lua_resolver 指令 `proxy_wasm_lua_resolver` 允许在 NGINX 中为 WebAssembly 模块指定一个 Lua 解析器,从而实现对… proxy_wasm_request_headers_in_access 指令 `proxy_wasm_request_headers_in_access` 指定在处理传入请求头时要执行的 WebAssembly 过滤器。 httpserverlocation resolver NGINX 中的 'resolver' 指令启用对代理请求的 DNS 解析,使用外部解析器。 resolver_add resolver_add 指令允许在 NGINX Proxy-Wasm 模块上下文中向指定集合添加 DNS 解析器地址。 httpserverlocation resolver_timeout `resolver_timeout` 指令在 NGINX 使用 Proxy-Wasm 功能时设置解析 DNS 查询的时间限制。 shm_kv `shm_kv` 指令允许为在 NGINX 中使用的 Wasm 模块定义一个共享内存键值存储。 shm_queue shm_queue 指令为基于 WebAssembly 的 NGINX 模块配置用于进程间通信的共享内存队列。 slab_size `slab_size` 指令设置用于 Proxy-Wasm 模块的内存分配 slab 的大小,从而优化 Wasm 模块的内存管理。 socket_buffer_reuse `socket_buffer_reuse` 指令控制 NGINX 中 WebAssembly 模块的套接字缓冲区重用。 socket_buffer_size 指令 `wasm_socket_buffer_size` 在 NGINX 中为 Wasm 模块设置套接字缓冲区大小。 socket_connect_timeout 指令 `wasm_socket_connect_timeout` 设置在 NGINX 中 WebAssembly 模块建立套接字连接的超时时间。 socket_large_buffers `socket_large_buffers` 指令在 NGINX 中为 WebAssembly 套接字通信配置较大的缓冲区大小。 socket_read_timeout 指令 'wasm_socket_read_timeout' 为在 WebAssembly 模块中使用的套接字的读取操作设置超时。 socket_send_timeout 在 NGINX 中,`wasm_socket_send_timeout` 指令设置通过 WebAssembly socket 发送数据的最长时间。 tls_no_verify_warn 'tls_no_verify_warn' 指令在 TLS 协商期间证书验证失败时禁用警告消息。 tls_trusted_certificate 在 NGINX 配置中,`tls_trusted_certificate` 指令指定用于验证客户端证书的受信任 CA 证书。 tls_verify_cert `tls_verify_cert` 指令启用在 WebAssembly 过滤器中对 TLS 证书的验证。 tls_verify_host 在 NGINX 的 Proxy-Wasm 环境中,`tls_verify_host` 指令用于配置在建立 TLS 连接时对主机名的信任验证。 v8 `v8` 指令在 NGINX Proxy-Wasm 模块内初始化 V8 WebAssembly 运行时。 wasm wasm 指令在 NGINX 中配置 WebAssembly 支持,使得可以使用 WebAssembly 模块来扩展功能。 main wasm_call `wasm_call` 指令在指定的 NGINX 请求阶段执行特定的 WebAssembly 函数。 httpserverlocation wasm_debug_body_filter_return `wasm_debug_body_filter_return` 指令用于在 NGINX 中调试期间控制 WebAssembly 模块的响应正文过滤行为。 location wasm_debug_header_filter_return `wasm_debug_header_filter_return` 指令在 NGINX 的 Proxy-Wasm 模块中启用对响应头的调试日志记录。 location wasm_postpone_access `wasm_postpone_access` 指令会延迟在访问阶段执行 WebAssembly 过滤器,直到请求体可用之后。 httpserverlocation wasm_postpone_rewrite `wasm_postpone_rewrite` 指令允许将重写处理延迟到 WebAssembly 过滤器执行之后。 httpserverlocation wasm_response_body_buffers `wasm_response_body_buffers` 指令设置 NGINX Proxy-Wasm 模块用于响应体的缓冲区数量和大小。 httpserverlocation wasm_socket_buffer_reuse 指令 `wasm_socket_buffer_reuse` 控制 NGINX 中 WebAssembly 套接字的缓冲区重用。 httpserverlocation wasm_socket_buffer_size 设置在 NGINX 中从 WebAssembly 套接字读取数据的缓冲区大小。 httpserverlocation wasm_socket_connect_timeout 设置 NGINX 中建立 WebAssembly 套接字连接的超时时间。 httpserverlocation wasm_socket_large_buffers wasm_socket_large_buffers 指令指定了 NGINX 中用于 WebAssembly 套接字通信的大缓冲区的最大数量及其大小。 httpserverlocation wasm_socket_read_timeout 设置在 Wasm 上下文中从 socket 读取数据的最长持续时间。 httpserverlocation wasm_socket_send_timeout 定义 NGINX 在通过 WebAssembly 套接字连接发送数据时等待的最长时间。 httpserverlocation wasmer `wasmer` 指令使得将 WebAssembly 模块集成到 NGINX 中成为可能,从而增强请求处理能力。 wasmtime 'wasmtime' 指令用于在 NGINX 配置中定义和管理 WebAssembly 模块,以扩展其功能。