Node.js中的“pipe道中未处理的stream错误”

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

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

可能很重要的细节:我最近通过HTTPS(必要时通过HTTPredirect)使整个应用程序工作,并在开发过程中使用自签证书(当然,在我的浏览器中启用)。

现在,应用程序往往是失败的机智堆栈跟踪:

(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 – 不起作用,不幸的是。

有任何想法吗? 这开始非常令人沮丧。

好吧,看起来我find了答案(至less我发现了类似的问题,试图修复它停止下降):

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