排查web服务(nginx+uwsgi+python+flask+fastdfs)上传大文件返回413 Request Entity Too Large的问题

nginx:1.20

python:3.7

1、百度查询很容易找到这个信息,设置:

client_max_body_size 50m;

或者

client_max_body_size 0; //0代表不限制

Module ngx_http_core_module

2、调整完毕,还是不行,开始一顿瞎操作,各种调整nginx参数,事实证明没有用;

要相信官方文档;

4、看nginx的log日志,怀疑uwsgi的问题,因为日志中有这些信息;

recv() failed (104: Connection reset by peer) while reading response header from upstream

upstream prematurely closed connection while reading upstream

writev() failed (104: Connection reset by peer) while sending request to upstream

停掉uwsgi服务,直接使用python命令启动程序(python3 run.py)

3、还是不行,排查python程序中的上传文件接口函数,一通修改,还是不行;

4、网上着凉一个go程序(go实现Http Server文件服务器,提供上传、下载功能_Go和分布式IM的博客-CSDN博客),编译成二进制服务,停掉py服务,启动go服务,代替上传文件功能;发现可以正常上传;

5、回过头来,继续排查python程序;原来是flask框架里面app启动时,写了一个配置;

app = Flask(__name__, static_folder='template')
app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024

嗯,把这家伙抓出来,暴揍一顿吧

你可能感兴趣的:(python,python,flask,nginx,fastdfs)