feat(交易记录): 新增交易记录管理页面与API接口 feat(上传): 添加统一上传接口支持自动识别文件类型 feat(用户管理): 为用户模型添加备注字段并更新相关接口 feat(邮件): 实现SMTP邮件发送功能并添加测试脚本 feat(短信): 增强短信服务配置灵活性与日志记录 fix(发票): 修复发票列表时间筛选功能 fix(nginx): 调整上传大小限制与超时配置 docs: 添加多个功能模块的说明文档 docs(估值): 补充估值计算流程与API提交数据说明 chore: 更新依赖与Docker镜像版本
2.3 KiB
2.3 KiB
目标
- 提升 Nginx 代理下的上传体积与超时,解决大文件上传被限制的问题(413/超时)。
现状
- 当前配置文件:
deploy/web.conf使用location ^~ /api/反向代理到后端http://127.0.0.1:9999,未设置上传大小和超时。
修改内容
- 在
server {}块中增加统一的体积限制。 - 在
location ^~ /api/中增加长超时与关闭请求缓冲(提升大文件上传稳定性)。
具体改动(覆盖式替换关键片段)
- 在
server_name localhost;后增加:
client_max_body_size 50m;
- 在
location ^~ /api/ { ... }内追加:
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_request_buffering off;
变更后的完整结构示例
server {
listen 80;
server_name localhost;
client_max_body_size 50m;
location = /docs {
proxy_pass http://127.0.0.1:9999/docs;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location = /redoc {
proxy_pass http://127.0.0.1:9999/redoc;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location = /openapi.json {
proxy_pass http://127.0.0.1:9999/openapi.json;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
root /opt/vue-fastapi-admin/web/dist;
index index.html index.htm;
try_files $uri /index.html;
}
location ^~ /api/ {
proxy_pass http://127.0.0.1:9999;
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 300s;
proxy_send_timeout 300s;
proxy_request_buffering off;
}
}
发布与验证
- 检查配置:
nginx -t - 重新加载:
nginx -s reload - 测试上传:使用 30–40MB 文件调用
POST /api/v1/upload/file,确认不再出现 413 或上传超时;同时测试POST /api/v1/upload/image大图。
备注
- 如需更大体积可将
client_max_body_size调整为100m或更高;若上层云负载均衡也有限制,需要同步放宽。 - 后续可在应用层增加最大体积限制与提示,避免无界上传占用过多资源。