【发布时间】:2019-05-13 07:12:54
【问题描述】:
我有一个 node js 应用程序使用 express 从 youtube 获取视频并响应客户端,我使用 Litespeed 服务器,我的服务器已启用 'keep-alive',当我从 localhost 运行我的代码时,它运行良好并且响应在其标题中包含'Connection: Keep-Alive' 并下载整个文件。
但是当我部署到服务器时,响应的标题中不包含'Connection: Keep-Alive',并且它总是在下载 10MB 后停止。这让我陷入困境并对此感到难过,所以任何人都可以给我一些解决方案?
这是我获取文件和响应客户端的代码:
res.writeHead(200, {"Connection": "keep-alive","Content-Type": "video/mp4", "Content-disposition": "attachment; filename=abc.mp4"});
request(inputUrl).pipe(res);
【问题讨论】:
-
您是否检查了服务器上允许的最大大小?
-
嗨@LuisEstevez,我该如何检查?我对服务器了解不多。
-
嗯...这是从 youtube
request(inputUrl)下载文件吗? -
@LuisEstevez 是的,inputUrl 是 youtube 视频的源 url。
-
已解决:根本原因是在Litespeed Webserver的配置文件httpd_config.xml中有这样的配置:
10M ,传输10MB后响应停止,我修改了到 1000M,问题就消失了。
标签: node.js express keep-alive