返回

如何修改Nginx的请求大小限制,避免413错误

开发配置

nginx是一个高性能的Web服务器和反向代理,它可以处理大量的并发请求。但是,有时候我们可能需要上传一些较大的文件到服务器,而nginx默认的请求大小限制是1M,这就会导致413 Request Entity Too Large的错误。那么,如何修改nginx的请求大小限制呢?

20230511eced280df65e9e0940176b37ab21762a.png

其实,nginx提供了一个指令叫做client_max_body_size,它可以设置客户端请求体的最大允许大小,以“ Content-Length ”请求头字段指定。如果请求体的大小超过了配置值,nginx就会返回413错误给客户端。这个指令可以设置在http、server或location的上下文中,其中location的上下文会覆盖server的上下文,而server的上下文会覆盖http的上下文。所以,我们要根据自己的具体需求来选择合适的位置。

例如,如果我们想要在全局范围内增加请求大小限制为100M,我们可以在nginx.conf文件中的http块中添加如下一行:

client_max_body_size

如果我们只想要针对某个特定的站点或应用增加请求大小限制为100M,我们可以在nginx.conf文件中的server块中添加如下一行:

client_max_body_size

如果我们只想要针对某个特定的URL增加请求大小限制为100M,我们可以在nginx.conf文件中的location块中添加如下一行:

client_max_body_size

修改完配置文件后,我们需要重新加载nginx的配置才能生效,可以使用以下命令:

sudo nginx -s reload

或者

sudo service nginx reload

这样,我们就可以修改nginx的请求大小限制了。当然,这个限制也不能太大,否则可能会占用过多的服务器资源和存储空间。我们需要根据自己的实际情况来合理地设置这个值。