项目实战典型案例28——生产环境nginx限制上传大小带来的灾难
创始人
2025-05-29 20:03:47
0

生产环境nginx限制上传大小带来的灾难

  • 一:背景介绍
  • 二:思路&方案
    • 方案
    • 解决生产环境nginx限制上传大小的方案
    • 对于之后上传文件这里如何进行设计避免出现今天的情况
  • 三:Nginx上传文件大小配置
    • 示例
  • 四:总结

一:背景介绍

本篇博客是对生产环境nginx限制上传大小带来的灾难进行的总结和进行的改进。
目的是将经历转变为自己的经验。通过博客的方式分享给大家,大家一起共同进步和提高。
在这里插入图片描述

二:思路&方案

对于在生产环境上调整nginx上传文件的大小是一个非常恐怖的方案:

  1. 首先由于是生产环境,很可能有用户正在进行使用,不管有没有改动成功,都需要重启nginx服务都会导致某一段时间内服务处于不可用的状态。
  2. 该方案,没有考虑到后续的变化,如果这次你调整到可以上传1.5w人的文档,如果下次我是2.5w人的文档你又怎么办呢?是不是又去修改nginx上传文件的大小。

方案

那是不是一定不可以修改nginx上传文件的大小呢,我认为也不是的。
上面的方案(直接修改nginx上传文件大小)没有考虑其他情况1. 现在修改nginx是否合适,优势利弊是什么? 2.有没有其他的更优的方案他们的优势利弊是什么?

解决生产环境nginx限制上传大小的方案

背景:现在生产环境的体测上面很可能有用户正在使用,但是现在学院又需要导入1.5w人对应的excel表格,但是由于nginx上进行了限制倒是1.5w条的excel导入失败。

  1. 不能影响线上用户的使用,于是我们可以进1.5w人的表格进行查人,分5批次进行导入,3000人表格进行导入。找到nginx能够接受最大人数的上传。

对于之后上传文件这里如何进行设计避免出现今天的情况

  1. 在设计之初考虑到今后的应用场景,事先设置nginx上传文件大小的限制,以及nginx接口超时时间
  2. 页面前端做上文文件大小的限制,如提示支持多大的文件上传,建议上传多大的文件。
  3. 后端可以做分批次导入excel表格的接口,可以利用多线程节省导入的时间。

三:Nginx上传文件大小配置

在nginx的配置文件nginx.conf中设置了上传文件的大小。

Nginx一般默认的上传最大请求体在1m。如果设置为0,表示上传文件大小不受限制。

Default: client_max_body_size 1m;

nginx支持在http块、server块和location块中设置client_max_body_size

三者的主要区别是:http{}中控制所用nginx收到的请求,server{}控制该server收到的请求报文大小;location{}只对匹配了location 路由规则的请求生效。

示例

http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;#默认的上传最大请求体在1m。如果设置为0,表示上传文件大小不受限制。client_max_body_size 10m;  include /etc/nginx/conf.d/*.conf;
}

四:总结

  1. 对于问题的解决方案不能只想到一种解决方案,我们需要相处3中以上的解决方案,通过评估在当前环境下,哪一种方案更为合适。
  2. 秉持二选二 二选三思维

相关内容

热门资讯

跨境电商高发!多部门共织“天罗... 东方网11月23日消息:11月21日,上海市人民检察院第三分院与上海海关缉私局、上海海警局、上海市第...
法律顾问能处理旅游法律事务吗 在旅游行业蓬勃发展的当下,各类旅游法律事务也日益增多,许多人会疑惑法律顾问是否能处理旅游法律事务。答...
法律顾问能处理哪些法律事务 在当今复杂多变的商业环境中,企业面临着各种各样的法律风险和挑战,法律顾问的重要性日益凸显。那么,法律...
原创 美... 美军的撤离速度印证了威慑效果。“尼米兹”号10月中旬进入南海后,10月26日接连发生两起舰载机坠机事...
王毅:中方绝不允许日本右翼势力... 当地时间2025年11月22日,中共中央政治局委员、外交部长王毅在杜尚别同塔吉克斯坦外长穆赫里丁举行...
上海特大案件曝光!涉案金额超亿... 今年以来,公安部会同金融监管总局开展打击金融领域黑灰产违法犯罪专项工作,对保险等领域违法犯罪进行重点...
关于单方面免签政策常见问题,国... 今天(11月23日),国家移民管理局针对单方面免签政策常见问题进行解答。 1.哪些国家人员可适用单方...
“最快护士”张水华再夺冠 新京报记者 刘锦涵
 制作 葛佳丹 ▲新京报我们视频出品(ID:wevideo) 11月23日,“最...
原创 沉... 在国际关系的复杂舞台上,每一个动作都可能引发连锁反应。近期,高市早苗的发言无疑是这一舞台上的一次重要...