0

我在端口 80 上使用 Apache。

Node.js 服务器监听 1337 端口,Apache 通过他代理所有请求:

ProxyRequests off

ProxyPass /nodejs/ http://127.0.0.1:1337/ timeout=300 retry=0
ProxyPassReverse /nodejs/ http://127.0.0.1:1337/

和 server.js:

var http = require("http");

http.createServer(function (req, res) {
    req.socket.on("close", function () {
        console.log("socket close");
    });
}).listen(1337);

问题:当用户中止连接时(在浏览器中停止请求,例如按 Esc),node.js 无法触发socket.on("close")直到 apache 的超时有效。

除了将 Apache 置于 node.js 之后,还有什么解决方案?

4

0 回答 0