使用 Rails、Nginx(使用 x-accel-redirect)和 Apache(x-sendfile) 下载大文件时出现问题
当大小超过 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 已正确配置、经过大量测试和检查。
因此:
- Nginx 使用 x-accel-redirect [失败]
- Apache 使用 x-send-file [失败]
- 在 nginx 上发送文件而不使用 x-accel-redirect 或 x-sendfile或 apache [失败]
- 公开链接文件并直接下载 [有效]
有什么建议吗?
谢谢!!!
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:
- Nginx with x-accel-redirect [fail]
- Apache with x-send-file [fail]
- Send File without x-accel-redirect or x-sendfile on nginx or apache [fail]
- Linking file in public and direct download [works]
Any suggestion?
Thanks!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您想限制对这些下载的访问,您是否尝试过访问密钥模块?
If you're looking to restrict access to these downloads, have you tried the Access Key module?