虚拟主机域名注册-常见问题其他问题 → 其他问题

如何在NGINX上限制文件上传大小减轻DoS攻击

  NGINX为文件上传设置了1MB的限制。对于一些平台来说,这可能太小了,特别是对于那些允许用户上传图片和视频等项目的网站。然而,如果你把上传值设的太大,你就会面临拒绝服务(DoSS)攻击的风险。你肯定不希望这样。

  但是,当你需要允许用户上传超过1M的文件到你的NGINX站点时,你能做什么呢?你可以用client_max_body_size指令来控制它。

  为了实现这个目标,你需要安装NGINX并配置好运行你的网站。你还需要一个有sudo权限的用户。我将在Ubuntu服务器18.04上进行演示,但这个过程应该可以在任何支持NGINX的平台上运行。

  如何配置nginx.conf

  我们要做的第一件事是将nginx.conf文件中的上传限制更改为100MB。使用以下命令打开文件:

  sudo nano /etc/nginx/nginx.conf

  查找http部分,并添加以下行(如下图):

  client_max_body_size 100M;

  保存并关闭文件。

  将配置添加到NGINX配置文件。

  接下来,打开您网站的配置文件。如果使用默认值,则可以使用以下命令打开该文件:

  sudo nano /etc/nginx/sites-available/default

  在该文件中,查找服务器部分,并添加与nginx.conf文件中相同的行(如下图)。

  在站点配置文件的服务器部分中添加配置行。

  在同一文件中,找到为网站上传配置的位置部分,并添加同一行(如下图)。

  在locations指令中添加配置行。

  当然,您的uploads指令可能会比我已经说明的基本指令复杂一些,但是您明白了。

  保存并关闭文件。

  使用以下命令运行NGINX配置测试:

  sudo nginx -t

  您应该不会看到任何错误。使用以下命令重新启动NGINX:

  sudo systemctl restart nginx

  此时,如果有人试图上传大于100MB的文件,他们将413错误(请求实体太大)提示。现在,您的NGINX服务器在允许用户上传文件的同时,也对DoS攻击有了一丝安全感。当然,这并不是预防DoS攻击的万能措施,针对大量DDOS攻击建议使用专业的硬件防火墙。




免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:bkook@qq.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:购买香港服务器怎么才不会被坑
下一篇:如何判断Linux服务器是虚拟机还是物理机?
  >> 相关文章
没有相关文章。