gpt4 book ai didi

node.js - 来自 Node.js 的 "Unhandled stream error in pipe"

转载 作者:搜寻专家 更新时间:2023-10-31 22:24:28 25 4
gpt4 key购买 nike

我的应用程序:Node.js、Express、一些中间件,包括 connect-assets 和 express.static。

所有在本地机器(OSX,Node 0.8)上以开发模式运行(因此是 express.static)。

可能很重要的细节:我最近使整个应用程序通过 HTTPS 运行(必要时从 HTTP 重定向),并且在开发时我使用自签名证书(当然在我的浏览器中启用)。

现在,应用程序经常会失败,因为堆栈跟踪是这样的:

(1)

stream.js:81
throw er; // Unhandled stream error in pipe.
^
Error: write EPIPE
at errnoException (net.js:769:11)
at Object.afterWrite (net.js:593:19)

(2)

stream.js:81
throw er; // Unhandled stream error in pipe.
^
Error: socket hang up
at SecurePair.error (tls.js:948:15)
at EncryptedStream.CryptoStream._done (tls.js:432:17)
at EncryptedStream.CryptoStream._pull (tls.js:577:12)
at SecurePair.cycle (tls.js:866:20)
at EncryptedStream.CryptoStream.end (tls.js:405:13)
at Socket.onend (stream.js:66:10)
at Socket.EventEmitter.emit (events.js:126:20)
at TCP.onread (net.js:417:51)

(3)

stream.js:81
throw er; // Unhandled stream error in pipe.
^
Error: socket hang up
at createHangUpError (http.js:1264:15)
at CleartextStream.socketCloseListener (http.js:1315:23)
at CleartextStream.EventEmitter.emit (events.js:126:20)
at SecurePair.destroy (tls.js:938:22)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)

重要提示:这种情况经常发生,但不是每次都会发生,所以我认为这不是我代码中的错误。

我发现这可能是由于 express.static 和打开文件限制,所以我运行了 ulimit -n 10000 - 不幸的是没有效果。

有什么想法吗?这开始令人非常沮丧。

最佳答案

好的,看起来我找到了答案(至少我发现了一个类似的问题,尝试了他们的修复并且它不再掉落):

express.static 中间件必须是链中的最后一个

关于node.js - 来自 Node.js 的 "Unhandled stream error in pipe",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13220565/

25 4 0