
服务是 nginx + uwsgi + Django 搭建的
有一个上传图片的接口, 通过multipart/form-data 上传到后端服务器 文件大小超过一定大小(大概是 3M 多)就会报错
[uwsgi-http key: host client_addr: addr client_port: 27198] hr_instance_read(): Connection reset by peer [plugins/http/http.c line 647] 以下是一些相关的配置:
uwsgi config[uwsgi] pythOnpath=/path/to/pythonpath chdir=/path/to/chdir env=DJANGO_SETTINGS_MODULE=conf.settings module=moudle.wsgi master=True pidfile=logs/pidfile.pid vacuum=True max-requests=1000 enable-threads=true processes = 4 threads=8 reload-on-rss=2048 listen=1024 daemOnize=logs/wsgi.log http=0.0.0.0:16020 buffer-size=32000 socket-timeout=1500 harakiri=1500 http-timeout=1500 nginx confignginx.conf
worker_processes 12; events { use epoll; worker_connections 65535; } http { include mime.types; include log_format.conf; include upstream.conf; default_type application/octet-stream; sendfile on; tcp_nopush on; keepalive_timeout 1800; server_tokens off; client_max_body_size 100m; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 5; gzip_types text/plain application/json application/Javascript application/x-Javascript text/css application/xml text/Javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary off; include "site-enabled/*.conf"; } log_format.conf
log_format upstream '$remote_addr - $host [$time_local] "$request" ' '$status $body_bytes_sent $request_time $upstream_response_time ' '"$http_user_agent" "$http_x_forwarded_for" '; upstream.conf
upstream my_service { server host:16020 weight=50; server host:16020 weight=50; keepalive 100; } site-enabled/my_service.conf
server { listen 7020; server_name my-service.xxx.cn; client_max_body_size 100M; access_log logs/my_service_access.log upstream; root /path/to/my_service/dist; location ^~ /api/base_api { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 90; proxy_pass http://my_service; } location / { try_files $uri /index.html =404; } } 调用上传 api 后 uwsgi响应
[pid: 32248|app: 0|req: 302/351] xxxx () {60 vars in 1502 bytes} [Thu Aug 11 17:14:06 2022] POST /api/ka/user_open/tt_upload_br => generated 26 bytes in 34 msecs (HTTP/1.0 400) 5 headers in 160 bytes (1 switches on core 2) [uwsgi-http key: host client_addr: addr client_port: 27198] hr_instance_read(): Connection reset by peer [plugins/http/http.c line 647] nginx响应
xxx - host [11/Aug/2022:17:14:07 +0800] "POST /api/ka/user_open/tt_upload_br HTTP/1.1" 400 26 0.983 0.543, 0.407 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" "43.129.163.247" 是哪里限制了上传文件的大小呢, 请大家帮忙看一下?
请大家帮忙看一下, 谢谢了!