如何限制Nginx中的文件上载大小

在本文中,我们将解释如何限制Nginx Web服务器中的文件上载大小,以防止拒绝服务(DOS)攻击。

在上一篇文章中,我们已经解释了如何限制Apache中的用户文件上传大小 在本文中,我们将解释如何在Nginx中限制用户文件上载大小。 限制文件上载大小对于防止某些类型的拒绝服务(DOS)攻击和许多其他相关问题很有用。

默认情况下, Nginx对文件上传的限制为1MB 要设置文件上载大小,可以使用client_max_body_size指令,该指令是Nginx的ngx_http_core_module模块的一部分。 可以在http服务器位置上下文中设置此伪指令。

它设置客户端请求主体的最大允许大小,在“ Content-Length ”请求标头字段中指定。 这是在/etc/nginx/nginx.conf文件中将限制增加到100MB/etc/nginx/nginx.conf

http块中设置,它会影响所有服务器块( 虚拟主机 )。

http {
...
client_max_body_size 100M;
}    

服务器块中设置,这会影响特定的站点/应用程序。

server {
...
client_max_body_size 100M;
}

设置在位置块中 ,这会影响站点/应用程序下的特定目录(上载)。

location /uploads {
...
client_max_body_size 100M;
} 

保存文件并重新启动Nginx Web服务器以使用以下命令应用最近的更改。

# systemctl restart nginx       #systemd
# service nginx restart         #sysvinit

保存更改并重新启动HTTP服务器后,如果请求中的大小超过配置的100MB值,则会将413(请求实体太大)错误返回给客户端。

注意 :您应该记住,有时浏览器可能无法正确显示此错误。 并将valua(size)设置为0将禁用检查客户端请求正文大小。

您可能还想阅读以下与Nginx Web服务器管理相关的文章。

  1. 如何在Linux中更改Nginx端口
  2. 如何在Linux中隐藏Nginx服务器版本
  3. ngxtop - 在Linux中实时监控Nginx日志文件
  4. 如何使用Netdata监视Nginx性能
  5. 如何启用NGINX状态页面

参考ngx_http_core_module文档

就这样! 在这篇简短的文章中,我们已经解释了如何在Nginx中限制用户文件上传大小。 您可以通过下面的评论表与我们分享您的想法。