我有一个使用node和expressjs构建的API应用程序。使用Apache进行反向代理,并启用了keepalive。
由于默认的2分钟套接字超时,某些请求(特别是POST / PUT)将最终挂起2分钟。不会经常发生,但经常发生。一旦达到超时,客户端就会获得响应并继续发送其他请求。
这似乎是由于Keep-Alive,尽管我不是100%肯定。
添加标题:
res.set('Connection', 'close');
使问题消失,这就是为什么我认为这与保持活着有关。
一直在研究这个问题2天没有成功。
是否值得设置标题并接受后果,或者对此行为是否还有其他解决方案/解释?
答案 0 :(得分:0)
事实证明这一切都是由一个" 204 - No Content"对PUT / POST请求发送之前发送的DELETE请求的响应。改变
res.send(data)
要
res.status(204).end()
为我解决了这个问题。