使用ngx.fetch读取大响应时仅返回部分内容的问题求助
ngx.fetch读取大响应时仅返回部分内容的问题求助
大家好,我目前在用Nginx搭配ngx_http_js_module.so模块,碰到了一个棘手的问题:当请求的响应体较大时,ngx.fetch函数只能返回部分响应内容(大概前2000字符左右),完整的响应拿不到。
我已经尝试过调整好几个相关参数,比如修改buffer_size、max_response_body_size,但完全没效果。另外,我还在http和location区块里添加了这些指令:
js_fetch_max_response_buffer_size 1m;js_fetch_timeout 60s;js_fetch_buffer_size 3200k;
可问题还是没解决。
根据官方API的说明,Response.text()应该会读取整个响应流直到完成,但实际调用后,返回的依然是部分内容。
我的代码片段如下:
var response = await ngx.fetch(service_url, { body: payload, headers: {'Content-Type':'application/x-www-form-urlencoded'}, method: 'POST', buffer_size: 102400, // 此处省略其他配置项 }); var responseText = await response.text(); // responseText 仅包含部分响应内容
有没有大佬遇到过类似的问题?或者能给我一些排查的方向?感谢大家帮忙!
备注:内容来源于stack exchange,提问作者Raj
相关产品推荐
相关产品推荐

