【发布时间】:2016-07-22 20:04:31
【问题描述】:
使用 nginx 作为代理时,我无法下载 zip 文件(使用 send_file)。
def download
send_file file_path, filename: "file.zip"
end
在没有 nginx 的情况下运行(仅限 webrick)它工作正常,但使用 nginx 代理它会在浏览器中打开它:
Nginx 代理配置:
server {
server_name mydomain.com;
location / {
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/keys/app.htpasswd;
}
}
编辑:
重新加载页面会导致文档被下载,因此我查看了每个请求的请求标头。它们应该是相同的,但它们不是。
在浏览器中打开
下载成功
唯一的区别是第一个我点击了一个链接(在新标签中打开链接下载并打开文件),我在第二个上刷新了页面。
编辑 2:
我用 webrick 再次尝试了它,它正在做同样的事情。
【问题讨论】:
-
好吧,显示你如何发送它的控制器代码。
标签: ruby-on-rails nginx webrick