如何在 Nginx 中限制文件上传大小
在上一篇文章中,我们解释了如何在 Apache 中限制用户文件上传大小。在本文中,我们将解释如何在Nginx中限制用户文件上传大小。限制文件上传大小对于防止某些类型的拒绝服务 (DOS) 攻击和许多其他相关问题很有用。
默认情况下,Nginx 对文件上传的限制为 1MB。要设置文件上传大小,您可以使用 client_max_body_size
指令,该指令是 Nginx 的 ngx_http_core_module 模块的一部分。该指令可以在http、服务器或位置上下文中设置。
它设置客户端请求正文允许的最大大小,在“Content-Length”请求标头字段中指定。以下是在 /etc/nginx/nginx.conf
文件中将限制增加到 100MB 的示例。
在影响所有服务器块(虚拟主机)的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(请求实体太大) 错误给客户。
注意:您应该记住,有时浏览器可能无法正确显示此错误。将 value(大小)设置为 0 将禁用对客户端请求正文大小的检查。
您可能还想阅读以下与 Nginx Web 服务器管理相关的文章。
- 如何在 Linux 中更改 Nginx 端口
- 如何在 Linux 中隐藏 Nginx 服务器版本
- ngxtop – 在 Linux 中实时监控 Nginx 日志文件
- 如何使用 Netdata 监控 Nginx 性能
- 如何启用 NGINX 状态页面
就这样!在这篇短文中,我们解释了如何在 Nginx 中限制用户文件上传大小。您可以通过下面的评论表与我们分享您的想法。