0

根据Helicon Tech的文档:

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

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

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

有没有其他人遇到过postBuffer并且知道如何解决这个烦人的要求?当然,我不是唯一一个使用 Helicon Zoo 并试图创建文件上传站点的人,但是我在 Helicon 的论坛或一般的谷歌搜索上找不到任何东西。

4

1 回答 1

1

这个问题最终在我之前发布的一个问题中得到解决,该问题是由同一问题引起的。完整的讨论可以在这里查看。

Helicon Zoo 开发人员 rukeba 在对原始问题的评论中提供了答案。

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

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

于 2014-05-06T15:51:09.207 回答