Node/Nginx,413请求实体太大,client_max_body_size设置
Posted
技术标签:
【中文标题】Node/Nginx,413请求实体太大,client_max_body_size设置【英文标题】:Node/Nginx, 413 request entity too large, client_max_body_size set 【发布时间】:2015-01-27 15:44:33 【问题描述】:很像https://serverfault.com/questions/539466/413-request-entity-too-large-client-max-body-size-is-set
我有一个节点服务器(使用 Loopback)在 nginx(具体来说是 dockerfile/nginx 映像)之上运行,但是每当我对节点服务器执行大型 PUT(或 POST)请求时,我都会得到返回 413 响应。
我已经在许多地方设置了 client_max_body_size(对我来说,在 /etc/nginx/nginx.conf 中)并设置了过高的值,但仍然得到 413 ......我有什么遗漏吗?
【问题讨论】:
检查返回此 HTTP 代码的部分:nignx 或您的应用程序。 哎呀,谢谢泽维尔。看起来我的应用程序可能有罪:github.com/strongloop/loopback/issues/690 【参考方案1】:感谢 Xavier Lucas,问题确实出在应用而不是 nginx 配置上,正如 Github 问题中所建议的那样:
https://github.com/strongloop/loopback/issues/690
通过显式设置 json 和 urlencoded 限制来解决。
【讨论】:
您还记得,413 响应的正文中是否包含“nginx”?我遇到了同样的问题(将 2.5M 上传到配置为 100G 的服务器)并获得包含<center>nginx</center>
的 413 响应。我不确定 Nginx 是否抛出错误,或者只是将 html 放入节点应用程序的 413 标头。【参考方案2】:
我遇到同样的错误,我的节点服务器使用koa-bodyparser,它限制了urlencoded body:
formLimit:urlencoded body 的限制。如果正文最终大于此限制,则返回 413 错误代码。默认为 56kb。
与nginx无关。
【讨论】:
以上是关于Node/Nginx,413请求实体太大,client_max_body_size设置的主要内容,如果未能解决你的问题,请参考以下文章