Nginx Node.js Express下载大文件停止在1.08GB

米歇尔

我有Nginx代理的这个node.js应用程序(正在生产)。路线是这样的:

exports.download = function(req, res){

    var id = req.params.id;

    if (id && id == 'latest')
    {
        res.download(config.items.release_directory+'/<1.6GB-file>.zip', function(err){
            if (err) {
                console.log(err);
            } else {
                // do something
            }
        });
    }
    else
    {
        res.redirect(301, '/');
    }

};

因此,单击正确的路径/ URL,浏览器将开始下载大文件,但随后它总是停止在1.08GB(文件约为1.6GB)处,并被截断。

我真的不明白为什么。有任何想法吗?

编辑:config.items.release_directory是一个静态Express目录,声明为:

app.use('/releases', express.static(path.join(__dirname, '..', 'releases')));

EDIT2:在带有grunt的开发中,无需Nginx即可直接提供应用程序,效果很好。

已解决:请阅读以下评论,问题是Nginx中的proxy_max_temp_file_size变量

雷米·贝切拉斯(Remi Becheras)

这里的问题是nginx配置,而不是nodejs代码。

nginx在将临时文件发送到客户端之前在磁盘中写入临时文件,如果站点将要提供大型静态文件,则最好禁用此缓存,例如:

location / {
    proxy_max_temp_file_size 0;
}

(没有限制)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Node.js从Dropbox下载大文件?

来自分类Dev

Blob downloadToFile()不下载大文件Node.js

来自分类Dev

使用Node Express JS下载文件

来自分类Dev

Nginx + Node.js配置

来自分类Dev

无法下载 Express Node JS

来自分类Dev

Nginx和Node.js路由问题

来自分类Dev

Nginx和Node.js未知指令

来自分类Dev

Heroku上的Nginx + Node.js

来自分类Dev

Node.js Nginx LetsEncrypt错误的网关

来自分类Dev

防止Nginx缓存Node.js响应

来自分类Dev

通过Nginx的LAMP + Node.js

来自分类Dev

Nginx和Node.js未知指令

来自分类Dev

Node.js Nginx LetsEncrypt错误的网关

来自分类Dev

Nginx的Node.js重写规则

来自分类Dev

如何使用nginx强制下载js文件?

来自分类Dev

使用NGINX提供静态文件时,如何使用Node.js的404响应?

来自分类Dev

通过托管在GAE中的node.js Express服务器上传大文件

来自分类Dev

Nginx具有1个域,2个应用程序。Ror + Node.js

来自分类Dev

如何使用Angular的httpClient下载大文件(> 1GB)?

来自分类Dev

Node Js下载操作

来自分类Dev

未使用 Node + Express + Nginx 设置 Cookie

来自分类Dev

Node.js 1GB CSV文件上传-错误:请求中止

来自分类Dev

Node.js 1GB CSV文件上传-错误:请求中止

来自分类Dev

下载JSON文件内容jQuery Node js

来自分类Dev

如何在centos 6.4 virtualbox客户端上使用express设置和配置node.js到nginx反向代理?

来自分类Dev

Node.js + express + socket.io + pm2是否可以在处理大型并发请求时完全取代Nginx?

来自分类Dev

Docker +无花果/撰写+ Nginx + Node.js + MySQL + Redis

来自分类Dev

nginx服务器和node.js运行错误

来自分类Dev

Node.js应用程序和Drupal Nginx冲突