Ubuntu + Nodejs + curl: (52) 来自服务器的空回复

Ubuntu + Nodejs + curl: (52) Empty reply from server

我有一个 nodejs 进程在我的服务器上监听一个端口:

app.get('/statistic', function(req, res) {
        log_get_connection(req);

        getStatistic().then(statistic => {
                res.json(statistic);
        });

});

当我在同一台机器上尝试通过 curl 访问它时:

curl "http://127.0.0.1:<PORT>/statistic"
# or
curl "http://<EXT_IP>:<PORT>/statistic"

我得到:

* Empty reply from server
* Connection #0 to host EXT_IP left intact

curl: (52) Empty reply from server

但是当我从另一台服务器通过 curl 访问它时,我看到一个成功的 HTTP 响应。

我没有覆盖 res。另外,如果我将 console.log(statistic) 放在 res.json(statistic) 之前,我会发现 statistic 是正确的。

更有趣的是 - 此设置在一段时间内运行良好...

UPD: ufw 已禁用。

抱歉,我发现错误 - 在 nodejs 代码中有一个解析文件的部分。文件已扩展,方法执行时间较长

很巧,当我从第三方服务器发出请求时,该方法设法计算出 return 数据,而当从服务器本身请求时却没有时间。

当服务器停止 return 将结果发送到第三方服务器并且 console.log(statistic)res.json(statistic) 停止工作之前我发现了一个错误。

感谢您的回复!