【发布时间】:2020-05-15 06:35:09
【问题描述】:
发现我们的Node服务互通(使用request)偶尔会报这个错误:
Error: Parse Error
at socketOnEnd (_http_server.js:455:20)
at Socket.emit (events.js:203:15)
at Socket.EventEmitter.emit (domain.js:448:20)
at endReadableNT (_stream_readable.js:1129:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
在_http_server.js 中进行了一些挖掘之后,原来是http 解析器完成错误。这意味着util socket close,http解析器无法正确解析http请求。
我们的服务日志显示它的客户端超时并关闭套接字,然后服务器报告此错误。所以我怀疑是这个request issue 导致了问题,但我没有进一步的证据。
另一个问题是,为什么 Node 服务器接收到错误的 http 请求并没有中止解析阶段并立即响应错误,而是挂在那里直到客户端超时并关闭套接字?
有人遇到同样的问题吗?
附言
使用节点版本:10.16.0
【问题讨论】:
标签: node.js node-request