Nginx多重代理: 413 Request Entity Too Large

在处理php+nginx环境下的文件上传出现:413 Request Entity Too Large,这样的报错,按照经验,对于这个问题的处理一般是下面的步骤:

1,修改nginx配置

2,在http,server或者location段修改下面的配置:

3,根据文件大小的支持情况修改,让nginx可以支持接受post过来的大数据,保存后重新加载配置,使设置生效:

上面的配置在我本机开发的时候是没有问题的,当然除此之外php本身处理上传也有相应的配置(php.ini):

这不是问题的重点,重点是我在内网一台我有权限的UED服务器上线一个内部的代码规范审核系统,UED各系统是同域名挂载不同的虚拟目录下,另一台内网UED主服务器将内审系统URL(/review)下的内容转发到我有权限配置的服务器上,不管我怎么修改配置似乎都无法解决这个问题,好像我配置没有生效,在javascript丛林群里也有群友遇到这个问题,后来排查发现,是因为我们这里实际有两重的nginx转发,当用户访问域名的时候发生了这样的事(如下图):负责URL转发的nginx把数据全量转发到我的nginx服务器,我的nginx再把数据交给php-cgi处理,第一层转发的这里配置没有按照我这台的配置修改client_max_body_size上限导致无法转发到我这台nginx,因此不管我这里怎么配都是无效的,只要第一层转发里加上配置就搞定了。

ued-servers

Tags:

如需转载,请注明出处:https://i.wanz.im/2014/03/28/nginx-413-request-entity-too-large-with-multi-proxy/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Time limit is exhausted. Please reload CAPTCHA.