POST_BUFFER =" 0"没有按预期工作

时间:2014-05-02 22:41:11

标签: django iis helicontech heliconzoo

根据Helicon Tech的文件:

  

postBuffer - 用于临时存储请求发布数据的内存缓冲区的最大大小。有助于防止DDOS后的慢速攻击。默认值= 1024(千字节)。使用postBuffer =“0”来禁用缓冲后请求。

但是,如果我设置POST_BUFFER="0",我根本无法上传任何内容。如果我将它设置为超过30MB的任何东西,我会收到一个错误,它不能超过30000000字节。

我知道Django应该完全能够处理我的上传并将它们拆分成块并重建它们,所以坦率地说我不需要Helicon来这里,但我似乎无法找到任何真正有效的方法来禁用它设置。如果我从环境变量中完全删除它,系统默认为postBuffer="1024,我无法上传超过1MB的任何内容。出于我的目的,我希望能够允许用户上传任何超过500MB的内容。

之前是否有其他人遇到postBuffer并且知道如何解决这个恼人的要求?当然,我不是唯一一个使用Helicon动物园的人,并且正在尝试创建一个文件上传网站,但是我在Helicon的论坛或谷歌搜索中找不到任何东西。

1 个答案:

答案 0 :(得分:1)

这个问题最终得到了我之前提出的关于同一问题产生的问题的解决。可以查看完整的讨论here

答案是由Helicon Zoo开发人员rukeba对原始问题的评论做出的贡献。

要解决此问题,请通过WPI安装程序安装Twisted引擎并打开Helicon Zoo管理器并导航到您的站点/项目。选中wsgi项目后单击Edit。在编辑窗口中,选择引擎按钮,在我的情况下是python.2.7.wsgi。在下一个窗口中,选择python.2.7.twisted。单击Select返回编辑窗口。在这里添加一个名为WSGI_APP的新环境变量,并为其赋值project.wsgi.application。单击Apply两次以保存更改。我然后在IIS中重置我的应用程序并测试该网站。我能够上传一个大小超过60mb的文件,向我证明这解决了这个问题。

我在技术上仍然不确定为什么POST_BUFFER无法设置为0以禁用它,但无论如何,这肯定完成了工作!