perl – 是否可以在Plack :: Middleware中强制执行最大上传大小而无需阅读整个请求?

我刚刚将 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 MiyagawaTwitter收到了回复.他说,“如果你使用Starman进行部署,即使使用中间件也为时已晚,因为缓冲是开启的.我会用Nginx进行操作”.

当我正在处理Starman部署时,这回答了我的特定问题.

He also notedrejecting a bigger upload before reading it on the backend could cause issues in general

相关文章

忍不住在 PerlChina 邮件列表中盘点了一下 Perl 里的 Web 应用框架(巧的是 PerlBuzz 最近也有一篇相关...
bless有两个参数:对象的引用、类的名称。 类的名称是一个字符串,代表了类的类型信息,这是理解bless的...
gb2312转Utf的方法: use Encode; my $str = "中文"; $str_cnsoftware = encode("utf-8...
  perl 计算硬盘利用率, 以%来查看硬盘资源是否存在IO消耗cpu资源情况; 部份代码参考了iostat源码;...
1 简单变量 Perl 的 Hello World 是怎么写的呢?请看下面的程序: #!/usr/bin/perl print "Hello W...
本文介绍Perl的Perl的简单语法,包括基本输入输出、分支循环控制结构、函数、常用系统调用和文件操作,...