1. 問題說明
- 環境:前端使用
vue
+axios
,后端使用python
+flask
,使用nginx
進行轉發請求 - 問題:單獨使用前端加后端,沒出現任何問題;加入
nginx
后,能接收到options
請求,但是真正的請求被攔截了
2. 問題排查
查看nginx錯誤日志
tail /var/log/nginx/error.log
.......
2020/10/28 11:40:41 [error] 26213#26213: *30497 client intended to send too large body: 7168281 bytes, client: 192.168.1.2, server: _, request: "POST /upload/tower?v=0.7358503685426334 HTTP/1.1", host: "127.0.0.1:8888", referrer: "http://127.0.0.1:8080/"
2020/10/28 11:41:01 [error] 26213#26213: *30501 client intended to send too large body: 7374452 bytes, client: 192.168.1.2, server: _, request: "POST /upload/tower?v=0.38792314655415794 HTTP/1.1", host: "127.0.0.1:8888", referrer: "http://127.0.0.1:8080/"
......
3. 問題解決
nginx
中有一個默認參數用來設置上傳大小限制,默認大小是1M
需要自己在對應的location中添加client_max_body_size
參數進行修改
500m
表示最大上傳500M
,該參數自行設計
location / {
.......
client_max_body_size 500m;
}