wasm_socket_read_timeout
设置在 Wasm 上下文中从 socket 读取数据的最长持续时间。
Proxy-Wasm support for Nginx powered by wasmtime
·
httpserverlocation
语法wasm_socket_read_timeout time;
默认值none
上下文http, server, location
参数1
说明
wasm_socket_read_timeout 指令用于指定 NGINX 服务器在从 socket 读取数据时应等待的最长时间。该指令在 WebAssembly (Wasm) 模块执行并等待来自 upstream servers 或其他网络资源的响应的场景中尤其有用。通过设置此超时,管理员可以控制在放弃并可能中止当前操作之前服务器尝试读取响应的时长。
该指令接受一个表示超时时间的单个参数,时间可以用秒、分钟或小时指定(分别使用 s、m 或 h)。该超时应用于每个由 Wasm 模块发起的读取操作,用于防止网络停滞或 upstream 服务无响应,确保 NGINX 实例能够高效管理资源并保持响应性。当达到超时且未读取到数据时,NGINX 会产生错误并根据服务器配置进行处理,可能包括重试或通知用户。
配置示例
http {
wasm_socket_read_timeout 30s;
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}⚠
确保将 timeout 值设置得恰当,以避免在高延迟环境中发生过早的 timeout。
⚠
请记住,此指令仅适用于 Wasm 上下文,并且不同于标准的 NGINX read timeout 设置。