问题描述:用request_uri请求,这时候request已经返回(tcpdump能抓到数据包),但是返回的res中body为空,在request_uri这个接口中,这时候会调用close或者set_keepalive,不论哪个都返回上述错误。从表现来看,cosocket还在读数据,但是我不理解的是既然request已经结束了,应该所有数据应该读完了。为什么会出现http.lua:955: request_uri(): socket busy reading,而且res.body为空字符串的这种情况
lua-resty-http。http.lua:955: request_uri(): socket busy reading
a month later
你应该给出具体的代码示例,方便讨论
23 days later
zhuizhuhaomeng 问题几年前就有人说了,现象可以参考这个https://groups.google.com/g/openresty/c/w89oa9WsgaY,就是在stream模块使用lua-resty-http这个库当客户端请求http,很容易出现socket busy,http模块不会
至少要给出你的 nginx的配置以及容易重现脚本,单从你的描述很难知道是为什么。