我刚刚将
PageKit(mod_perl)应用程序转换为
Plack.这意味着我现在需要一些方法来强制执行
Apache2::Request先前已处理的POST_MAX / MAX_BODY.最简单的方法可能只是将Nginx放在应用程序前面,但应用程序已经位于
HAProxy后面,我不知道如何使用HAProxy执行此操作.
那么,我的问题是如何在不首先阅读整个请求的情况下在Plack::Middleware强制执行最大体型?
具体来说,我关注文件上传.通过Plack::Request::Upload检查尺寸是too late,因为此时将读取整个主体.该应用程序将通过Starman部署,因此psgix.streaming
should be true
.
解决方法
我从
Tatsuhiko Miyagawa到
Twitter收到了回复.他说,“如果你使用Starman进行部署,即使使用中间件也为时已晚,因为缓冲是开启的.我会用Nginx进行操作”.
当我正在处理Starman部署时,这回答了我的特定问题.
He also noted“rejecting a bigger upload before reading it on the backend could cause issues in general”