网站搜索

如何在 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 服务器管理相关的文章。

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

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