【问题标题】:Nginx: 413 Request Entity Too Large ErrorNginx:413 请求实体太大错误
【发布时间】:2016-02-01 19:09:48
【问题描述】:

好的,伙计们,我已遵循这些答案 413 Request Entity Too Large

在 nginx.conf 以及与我的代理配置相关的 httpd.confd 文件夹中添加 client_max_body_size 20M。我添加了 http、server 和 location 块。我用玩!框架作为我的网关。

不过,我还是要Request entity too large error。大家有什么想法或建议吗?或链接跟进?

谢谢

【问题讨论】:

  • Play 也可以返回这个响应码。你用的是什么版本?
  • 我使用 Play 2.11 @m-z

标签: scala nginx request playframework-2.0


【解决方案1】:

除了 Play 前面的 Web 服务器(听起来您已经配置),Play 本身也有最大请求内容长度限制,记录在这里:https://www.playframework.com/documentation/2.5.x/JavaBodyParsers#Content-length-limits

大多数内置的正文解析器在内存中缓冲正文,还有一些 在磁盘上缓冲它。如果缓冲是无限的,这将打开 对恶意或粗心使用的潜在漏洞 应用。因此,Play 有两个配置的缓冲区限制, 一种用于内存缓冲,一种用于磁盘缓冲。

内存缓冲区限制是使用配置的 play.http.parser.maxMemoryBuffer,默认为 100KB,而 使用play.http.parser.maxDiskBuffer 配置磁盘缓冲区限制, 默认为 10MB。这些都可以配置在 application.conf,例如,将内存缓冲区限制增加到 256KB:

根据具体情况,您可能需要小心地过度增加此限制 - 如果您有不受信任的客户端,他们可能会通过在短时间内发送大量非常大的请求来使您的服务器过载。这可能会导致您的服务器因OutOfMemoryError 而崩溃,从而导致拒绝服务攻击。

【讨论】:

  • 我想通了。原来,我的 Nginx 阻止了它,即使 Play 增加了
猜你喜欢
  • 2015-01-25
  • 2017-08-28
  • 2016-04-30
  • 2016-05-27
  • 2016-08-27
  • 2021-06-29
  • 2019-12-13
  • 2019-09-02
  • 2021-11-13
相关资源
最近更新 更多