Haskell Yesod提供大文件问题

时间:2017-08-16 22:26:30

标签: haskell yesod

我正在使用Yesod文件服务器,我还需要能够提供更大的文件(在本例中为图片)。

我设置了一个静态文件子网站来提供所需的目录。每当我尝试下载这些较大的文件时,Yesod会响应206 Partial Content响应,只发送部分文件,最终会超时。

sendFile提供Yesod.Core.Handler的文件时,我也遇到此问题。我认为sendFile试图将整个文件加载到内存中,这可能会导致速度慢,但后来我查看了文档并意识到情况并非如此。

编辑:在玩了几件事后,我设法解决了这个问题。我使用warp-tls包使用Yesod函数通过SSL托管我的runTLS应用。我应该想到这些文件必须被读入内存才能加密它们。这导致了我看到的超时和下载失败。

我通过运行我的Yesod应用而不使用warp-tls包而使用warpDebug提供的Yesod功能来修复此问题,并通过SSL使用nginx反向服务代理。

0 个答案:

没有答案
相关问题