socket_connect_timeout
指令 `wasm_socket_connect_timeout` 设置在 NGINX 中 WebAssembly 模块建立套接字连接的超时时间。
Proxy-Wasm support for Nginx powered by wasmtime
语法wasm_socket_connect_timeout time;
默认值none
上下文
参数1
说明
指令 wasm_socket_connect_timeout 指定在使用 NGINX 与 WebAssembly 模块时,建立套接字连接所允许的最长时间。调用网络操作时这尤其重要,因为建立连接所需时间会因网络状况和服务器响应时间等外部因素而有所不同。默认情况下,如果未能在指定的超时时间内建立连接,则连接将失败,从而允许开发者在 WebAssembly 应用中优雅地处理连接失败。
该指令接受一个时间段作为参数。该时间可以用秒、分钟或 NGINX 识别的其他时间单位来指定,使用类似 's' 表示秒、'm' 表示分钟的常见后缀。wasm_socket_connect_timeout 指令在 HTTP 服务器块级别生效,意味着它适用于在该块中发起的所有 WebAssembly 操作,除非在层级中的其他更具体配置覆盖它。根据预期的网络延迟和运行要求选择合适的超时值至关重要:设置过低会在正常情况下导致过多的超时错误,而设置过高则可能在出现连接问题时导致服务挂起。
配置示例
http {
wasm_socket_connect_timeout 60s;
server {
listen 9000;
location / {
proxy_pass http://backend;
proxy_wasm my_filter;
}
}
}⚠
确保超时值适合您的网络状况;过低可能导致提前失败,过高则可能使请求挂起。
⚠
该指令仅适用于 WebAssembly 操作的上下文;它不影响标准 NGINX 连接超时。
⚠
如果与其他影响超时行为的指令一起使用,请确保设置之间没有冲突。