9

我刚刚将一个PageKit (mod_perl) 应用程序转换为Plack。这意味着我现在需要某种方法来强制执行Apache2::Reques t 之前处理的 POST_MAX/MAX_BODY。最简单的方法可能是将 nginx 放在应用程序前面,但应用程序已经位于HAProxy后面,我不知道如何使用 HAProxy 执行此操作。

所以,我的问题是如何在不先阅读整个请求正文的情况下在Plack::Middleware中强制执行最大正文大小?

具体来说,我关心文件上传。通过Plack::Request::Upload检查大小为时已晚,因为此时整个正文都已被读取。该应用程序将通过Starman部署,因此psgix.streaming应该如此true

4

1 回答 1

3

我通过Twitter收到了Tatsuhiko Miyagawa的回复。他说,“如果你使用 Starman 部署,即使使用中间件也为时已晚,因为缓冲已开启。我会使用 nginx 来做”。

这回答了我在处理 Starman 部署时的特定问题。

他还指出,“在后端阅读之前拒绝更大的上传可能会导致一般问题

于 2014-12-17T16:48:16.937 回答