使用 Rails、Nginx(使用 x-accel-redirect)和 Apache(x-sendfile) 下载大文件时出现问题

发布于 2024-08-18 00:13:30 字数 747 浏览 5 评论 0原文

当大小超过 1GB 时,我们会遇到下载问题。

我们在 Amazon EC2 2gb、2gb Ram 和 Fedora 10 上使用 Rails 2.3.5、passenger 2.2.9。

文件存储在 /mnt/files 上,项目位于 /mnt/www/project

我们尝试使用 Nginx 发送文件, x-accel-redirect 以及带有 x-sendfile 的 Apache。

我们只能下载并且始终是1.09gb而不是1.54gb!

我们可以毫无问题地下载大小小于1gb的文件

如果我们在rails公共目录中链接相同的文件(未损坏),我们可以毫无问题地下载。

X-Accel-Redirect 或 X-SendFile 已正确配置、经过大量测试和检查。

因此:

  1. Nginx 使用 x-accel-redirect [失败]
  2. Apache 使用 x-send-file [失败]
  3. 在 nginx 上发送文件而不使用 x-accel-redirect 或 x-sendfile或 apache [失败]
  4. 公开链接文件并直接下载 [有效]

有什么建议吗?

谢谢!!!

We have a big problem with downloads when the size is over than 1gb.

We are using Rails 2.3.5, passenger 2.2.9 on Amazon EC2 2gb with 2gb of Ram and Fedora 10.

Files are stored on /mnt/files, project is on /mnt/www/project

We tried to send files with Nginx and x-accel-redirect and also Apache with x-sendfile.

We can download only and always 1.09gb instead of 1.54gb!!

We can download files without problems where size is less than 1gb

If we link same file (that is not corrupted) in rails public dir, we can download without any problem.

X-Accel-Redirect or X-SendFile are configured correctly, tested and checked a lot of time.

So:

  1. Nginx with x-accel-redirect [fail]
  2. Apache with x-send-file [fail]
  3. Send File without x-accel-redirect or x-sendfile on nginx or apache [fail]
  4. Linking file in public and direct download [works]

Any suggestion?

Thanks!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你げ笑在眉眼 2024-08-25 00:13:30

如果您想限制对这些下载的访问,您是否尝试过访问密钥模块

If you're looking to restrict access to these downloads, have you tried the Access Key module?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文