Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我认为我在这里有点傻,但我不断收到错误,抱怨 env 哈希中缺少 SERVER_NAME 键,而且我在 Rack::SendFile.. 上找不到任何实质性文档。
所以-我如何提供文件?
如果您要提供大文件以供下载,我建议让网络服务器提供大数据。这样,您就不会浪费宝贵的资源来运行您的 Rack 应用程序,只是为了让用户进行长时间的下载。
如果您使用特殊的 Header 响应(X-Sendfile对于 Apache,X-Accel-Redirect对于 Nginx),网络服务器将使用给定文件的内容作为响应的正文。这样一来,您的 Rack 应用程序就可以为下一个请求做好准备,而网络服务器则负责将数据发送给用户的冗长过程。您可能需要先为您的网络服务器启用此功能。
X-Sendfile
X-Accel-Redirect